1.下载redis
wget http://download.redis.io/releases/redis-2.8.9.tar.gz
2.cd redis-2.8.9
3.安装redis
make
cd src
make install
4.修改配置
cp redis.conf /etc/redis.conf
vim /etc/redis.conf
daemonize yes #以守护线程模式启动redis,默认是no
port 6379 #端口号
timeout 0 #超时时间
tcp-keepalive 0 #tcp连接断开时间
loglevel notice #日志级别
logfile /var/log/redis/log.log #日志位置
dbfilename dump.rdb #数据库文件名
dir /var/lib/redis/ #数据库目录
slaveof 127.0.0.1 6380 #指定主服务位置
1.下载phpredis
wget https://github.com/nicolasff/phpredis/archive/master.zip
2.解压
unzip master.zip
3.cd phpredis-master
4.phpize(若提示找不到命令,先安装php-devel [yum install php-devel])
5.安装phpredis扩展
make && make install
6.增加php配置,启用redis模块 vim /etc/php.d/redis.ini
;Enable redis extension module
extension=redis.so
redis数据类型 string hash list set zset
string
set name aiddroid #设置 setnx name allen #不存在则设置 setex sex 10 male #设置过期时间 mset name aiddroid age 20 #批量设置 msetnx name allen age 26 #不存在则批量设置 mget name age #批量获取 getset age 20 #获取旧值,设置新值 incr age #递增1 incrby age 8 #递增8 decr age #递减 decrby age 8 #递减8 append name Hu #附加字串 strlen name #获取字串长度
hash
hset user:aiddroid name allen #设置hash hget user:aiddroid name #获取hash hmset user:aiddroid name allen age 20 #批量设置 hincrby user:aiddroid age 1 #递增1 hexist user:aiddroid sex #是否存在字段 hdel user:aiddroid sex #删除字段 hkeys user:aiddroid #获取所有键 hgetall user:aiddroid #获取所有键值对
list
lpush hobby reading #左插入 rpush hobby dancing #右插入 lrange hobby 0 -1 #取出list linsert hobby before dancing jogging #指定位置插入 lset hobby 0 hiking #设置指定位置值 lrem hobby 1 "hiking" #删除一个值 ltrim hobby 1 2 #保留 12,其它删除 lpop hobby #弹出第一个元素,类似于array_pop llen hobby #获取长度
无序集合set
sadd hobby reading #添加set元素,无法添加重复元素 smembers hobby #获取set成员 srem hobby reading #删除set元素 spop hobby #随机弹出一个set元素 sdiff hobby1 hobby2 #获取set差集,hobby1-hobby2 sdiffstore hobby3 hobby1 hobby2 #获取差集并存储 sinter hobby1 hobby2 #获取交集 sinterstore hobby3 hobby1 hobby2 #获取交集并存储 sunion hobby1 hobby2 #获取并集 sunionstore hobby3 hobby1 hobby2 #获取并集并存储 smove hobby1 hobby2 reading #移动集合元素 scard hobby #获取集合元素 sismember hobby dancing #判断是否集合元素 srandmember hobby #获取随机集合元素
常用数据操作命令
select 0 #切换到数据库0 keys * #获取所有key exists name #判断key是否存在 del name #删除key expire nam 10 #设置key有效期 ttl name #获取key有效期 persist name #取消key过期时间,即永不过期 rename name myname #修改key名称
事务
multi #开始事务 set name aiddroid set age 20 discard #取消事务操作 exec #执行事务处理
常用服务器命令
info #获取服务信息 flushdb #清空当前数据库 flushall #清空所有数据库 auth PASSWORD #获取授权 /etc/redis.conf中配置requirepassword
消息订阅
subscribe channel1 #订阅频道 publish channel1 hello #发布消息到频道