牛逼的Redis (REmote DIctionary Server, 远程字典服务器。):是开源的、高性能的、基于键值对的缓存与存储系统。
同时,还能用于消息队列、任务队列。
dict["key"] = "value"; //dict是一个字典结构变量,key是一个键,value是一个值。
TTL tile-to-live 生存时间。
一、安装:
- 下载
redis-3.0.7.tar.gz
到/usr/local
。 - 解压
sudo tar -zvxf redis-3.0.7.tar.gz
, 重命名文件夹为redis
。 - 进入redis执行编译测试
sudo make test
- 编译安装,
sudo make install
- 执行
redis-server
运行redis。
二、常见配置redis.conf:
-
daemonize yes
#修改为守护模式 -
pidfile /usr/local/redis/redis.pid
#设置进程锁文件 -
port 6379
#端口 -
timeout 300
#客户端超时时间 -
loglevel debug
#日志级别 -
logfile /usr/local/redis/log-redis.log
#日志文件位置 -
dir /usr/local/redis/db/
#指定本地数据库路径 -
appendonly no
#指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中. -
appendfsync everysec
#指定更新日志条件,共有3个可选值:no:表示等操作系统进行数据缓存同步到磁盘(快),always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全), everysec:表示每秒同步一次(折衷,默认值).
三、常见命令:
-
redis-server;
//启动Redis -
redis-server --port 6379;
//启动Redis,端口为6379,默认就是6379 -
redis-cli;
//进入Redis命令环境 -
redis-benchmark;
//Redis性能测试 -
redis-check-aof;
//AOF文件修复工具 -
redis-check-dump;
//RDB文件修复工具 -
redis-sentinel;
//Sentinel服务器(仅在2.8版以后) -
redis-cli;
//进入Redis命令模式 -
redis-cli shutdown;
//关闭Redis -
redis-cli ping;
//测试Redis联通性 -
redis-cli -h 127.0.0.1 --p 6379;
//自定义Redis连接的IP和端口 -
redis-server ./redis.conf;
//启动Redis,并加载配置文件 -
redis> config get loglevel
// 获取Redis的配置等信息。
四、使用:
<?php
// 连接Redis
$redis = new redis();
$redis->connect('localhost');
if ($_GET) {
$redis->set("name", $_GET['name']);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>NAME</title>
</head>
<body>
<?php if($redis->get('name')): ?>
<p>您的名字是:</p>
<?php echo $redis->get('name'); ?>
<?php else: ?>
<p>请输入您的名字:</p>
<form action="index.php" method="GET">
<input type="text" name="name">
<button type="submit">提交啊</button>
</form>
<?php endif; ?>
</body>
</html>
五、建议:
- 键名: 最好是“对象类型:对象ID:对象属性”,例如
post:23:page.view