redis安装
redis是C语言开发,建议在linux上运行,本教程使用Centos6.4作为安装环境。
一个redis进程,打开了不止一个数据库, 默认打开16个数据库,从0到15编号
安装redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++
源码下载 从官网下载 http://download.redis.io/releases
1.下载redis的源码包。
2.把源码包上传到linux服务器
3.解压源码包 tar -zxvf redis.tar.gz
4.cd redis 然后 Make
5.make install PREFIX=/usr/local/redis
-------------------------------------------------------------------------------------------------------------------------------
启动redis
默认是前端启动模式,端口是6379
1.前端启动模式 /usr/local/redis/bin/redis-server
2.后端启动模式
1)从redis的源码目录中复制redis.conf到redis的安装目录。
2)修改配置文件 修改 vim redis.conf中 把daemonize 改成yes
./redis-server redis.conf

------------------------------------------------------------------------------------------------------------------------------
redis数据类型
1.String 字符串类型
2.Hash 散列类型
3.List 列表类型
4.Set 集合类型
5.SortedSet 有序集合类型
redis通用key操作命令
1.keys * 查看所有key
2.Randomkey 随机key
3.exists key 查看有没有这个key
4.del key 删除key
5.select 2 选择2库
6.move key 2 把key移到2库
7.ttl key 查看效期 返回秒数
8.expire key time 设置有效期
9.persist key 永久有效
redis-String
1.set key value get key
2.mset key1 value1 key2 value2 …… 设置多个key mget key1 key2
3.getset key value 获取在设置 结果返回旧值
4.incr key 值+1
5.decr key 值-1
6.incrby key 90 key+90
7.decrby key 90 key-90
8.incrbyfloat 小数
redis-Hash
哈希不能为里面每一个key设置过期时间
1.hset key field value
例:hset user1 name lisi
hset user1 age 23
或
hset user1 name lisi age 23
2.hget key field
3.hgetall key
4.hlen key 返回key元素数量
5.hexists key field 判断key中有没有field域
6.hinrby key field value key中field域的值增长value
7.hinrbyfloat
8.hkeys key 返回key中所有的field
9.hvals key 返回key中所有的value
redis-List
1.lpush key value 值插入链表头部
2.rpush key value
3.lpop key 删除左
4.rpop key 删除右
5.lrange key start stop 返回链表中【start stop(0 -1)】中的元素
6.lrem key count value 删 从头往尾删(正count)
(负count)
7.ltrim key start stop(0 -1) 截取链表的一段
8.lindex key index 返回索引上的值
9.llen key 链表元素个数
10.insert key after/before tt value 在key链表中找tt 在之前/之后 加value
11.rpoplpush key1 key2 把key1尾部的元素拿到key2头部
redis-Set
性质:唯一性,无序性,确定性
1.sadd key value1 value2 往集合key中增加元素
2.smembers key 返回集合所有元素
3.srem key value 删除元素
4.spop key 随机弹出元素并且删除
5.srandmember key 随机返回一个元素
6.sismember key value 判断value是否在key中
7.scard key key中有几个元素
8.smove key1 key2 value 把key1中的值移动到key2中
9.sinter key1 key2 key3 三个集合的交集
10.sunion key1 key2 key3 三个集合的并集
11.sdiff key1 key2 key3 三个集合的差集
12.sinterstore key key1 key2 把key1 key2的交集存到key中
redis-Sorted Set
1.zadd key zaddkey score1 value1 score2 value2 ...
例如:zadd stu 18 lily 19 hmm 20 lilei 21 lilei
2.zrange
3.zrem 删除
4.zcard key 返回元素个数
5.zinterstore 交集
6.zunionstore 并集
redis事务
1.开启事务:multi
2.语句
3.失败/取消:discard
4.成功/执行:exec
5.监听功能:watch 取消监听:unwatch
例: set ticket 1
watch ticket
multi
decr ticket
decrby lisi 100
有人快一步:decr ticket
exec (null)
结果:ticket没有了 钱没少
redis-消息订阅
1.publish 频道名称 发布内容 (发布端)
2.subscribe 频道名称 (订阅端)
3.psubscribe 频道名称 * (订阅多个频道)