安装: Centos7,装好GCC(yum install gcc),解压redis.tar.gz ,进redis目录,make 然后 makeinstall
1 ‘redis-server /myredis/redis.conf ’ 启动redis服务
2 ‘redis-cli -p 6379 ’
3 ‘select 库Index ’(默认16,即最高15) 切换库
4 ' keys * ' 查看所有的key
5 'keys x*' 查看所有以x开头的key
6 ''set key名称 Value 设值
7 'get key名称 ' 获取key的对应value
8 'FLUSHDB ' 清空当前库
9 'FLUSHAll' 清空所有库
10 'DBSIZE ' 查看当前库的key的数量
11 Redis 索引默认从0开始, 端口默认6379
Redis常用的五大数据类型:String、Hash、List、Set、ZSet(sorted set 有序集合)
ZSet和Set一样也是String类型元素的集合。而且不允许重复的成员,不同的是每个元素都会关联一个double类型的分数,Redis正是通过分数来为集合中的成员进行从小到大的排序(类似斗地主120人赛的积分排序),ZSet的成员是唯一的,但是分数(score)却可以重复。
-----------------------------------------------------------------------------------------------------------------------------------------
String :
redis常见数据类型的操作命令:http://redisdoc.com
12 'EXISTS key名字' 判断某个key是否存在?1:0
13 'MOVE key名字 DB的索引 ' 将当前key移动到某个DB里
14‘EXPIRE key名字 秒钟数’ 设置某个key的存活时间,时间到了就消失
15‘ttl key名字’ 查看某个key还有多少秒过期 -1表示永不过期 -2表示已过期
16‘type key’ 查看key 的类型
17‘setnx key名字 value’ 给key设置,前提是这个key不存在,若存在,没反应
18‘INCR/DECR/INCRBY/DECRBY’+key | +key + int 让对应的value值变化,前提必须是数字
19 ‘setrange key + 位数 + ‘内容’ /getrange key + 区间’ 给对应的value的对应区间设置值,或者取到某个value对应缺件的值
20 ’ STRLEN / APPEND /DEL +key‘ 查看对应value的长度,以及追加对应的value,以及删除key
21 'mset k1 v1 k2 v2' 'mget k1 k2' 设多个key,取多个key
22 ‘msetnx k3 v3 k4 v4’ 设多个key,前提是 这些key不存在,若存在,则失败
------------------------------------------------------------------------------------------------------------------------------------- List:
23 ‘lpush /rpush 列表名 元素内容’ 新建一个列表,(从左进入或者从右进入) 每个索引上的值,用空格隔开
‘lrange 列表名 区间’ 获取列表对应区间的值 。 若要全部查看,则是 ‘lrange 列表名 0 -1’
24 ‘lpop’/‘rpop’ + 列表名 让对应列表的最左或者最右元素出栈
25 ‘lindex’+ 列表名 + 索引 按照索引获得对应列表的元素
26 ‘llen’+ 列表名 获取对应列表的长度
27 ‘lrem + 列表名 + 删除个数 +要删除的元素’ 删除列表里的重复元素,指定个数
28 ‘ ltrim +列表名 +区间 ’ 截取该列表的区间的元素,并且将该列表的值置为 截取到的元素
29 ‘rpoplpush ’ 源列表 目标列表 将源列表的右边第一个出栈,并且置于目标列表最左侧
30 ‘lset +列表名 +index+ value’ 将列表的对应索引的值更改为value
31 ‘linsert+ 列表名+ before/after+ 元素 插入值’ 将列表里指定元素的之前或者之后 插入 数值
-----------------------------------------------------------------------------------------------------------------------------------------
Set:
32 ‘sadd 集合名 集合元素 ’ 新建一个集合,集合元素即集合后面指定的
‘ smembers + 集合名 ’ 查看集合里的所有元素
‘ sismember + 集合名 + 元素值 ’ 判断某个集合里面是不是有该元素?1:0
33 ‘scard 集合名’ 查看集合里面的元素个数
34 srem +集合名 + value 删除集合中的某个元素
35 srandmember 集合名 整数 随机展示集合中的【整数】个元素
36 spop + 集合名 某个元素随机出栈 ,消失
37 smove 集合1 集合2 在集合1的1个值 将集合1的1个值移动到集合2
38 差集: SDIFF set01 set02 取集合1的和集合2的差集,但是是以集合1作为标准的,也就是取集合1里有的,集合2里没有的。
交集: SINTER set01 set02 取集合1和集合2 的公共部分
并集: SUNION set01 set02 取集合1和集合2 的并集
-----------------------------------------------------------------------------------------------------------------------------------------
Hash:
39‘hset 哈希名 key名 value ’ 创建一个哈希1 , 以及里面的一对key/value
40‘hget 哈希名 key名’ 取哈希里的对应key的value
41 ‘hmset 哈希名 k/v k/v ’ 创建一个哈希,以及同时指定里面的多对 key/value
42 ‘hmget 哈希名 k1 k2 ... ’ 一次查询出来 哈希里的多个key
43 ‘hgetall 哈希名 ’ 取出 哈希里的所有key /value
44 ‘hdel 哈希名 key名 ’ 删除哈希里的指定的key
45 ‘ hlen 哈希名 ’ 获取到此哈希的长度 (1个key/value算1)
46 ‘hexists key名 ’ 判断某个key是否存在于哈希中
47 ‘hkeys / hvals + 哈希名’ 显示此哈希里的所有key/所有value
48 ‘hincrby 哈希名 key名 int数值 ’ 让此哈希里的key 值加 数值
49 ‘hincrbyfloat 哈希名 key名 float数值’ 让此哈希里的key 值加 数值
50 ‘hsetnx 哈希名 key名 value ’ 增加一对key/value 给此哈希 前提是增加的键值对是之前不存在的
-----------------------------------------------------------------------------------------------------------------------------------------
ZSet
51、 ‘ zadd zset名 元素1/score 元素2/score 元素3/score ’ 创建一个zset,里面有3个元素以及每个元素对应的score
52、 ‘zrange zset名 0 -1 ’ 查看这个zset里面的所有元素
53、 ‘zrangebyscore zset名 开始score 结束score’ 查看这个zset里,score区间对应的元素
54、 ‘zrem zset名 某个value’ 删除某个zset里的某个元素(即value) //value删除后,score自动也没了
55、‘zcard + zset名’ 获取zset里的元素个数
56、‘zcount zset名 score区间’ 获取zset里 score区间的元素个数
57、‘zrank zset名 元素名’ 查看当前元素在zset里的排名
58、‘zrevrank zset名 元素’ 查看当前元素的逆序
59、‘zrevrange zset名 0 -1’ 逆序输出zset里的元素排名 (52的逆序)
60 、 ‘zrevrangebyscore zset名 结束score 开始score’ 逆序
61 、 ‘ZSCORE zset名 元素’ 查看这个元素所对应的score
62、 ‘MULTI’ 开启事务 (成功后返回OK)
事务开启时候,命令都将进入队列。
‘EXEC’ 执行事务 (执行队列里的命令,要么全部成功,要么全部失败)(注意:如果在事务开启时,加入了非 法操作,此条操作直接,报出ERROR,没有加入队列,EXEC会导致事务全部失败,而在事务开启时,加入了非法操作, 但是这 个操作已经加入了队列,则在执行事务时候,正常操作正常执行,非法操作会出错,不会导致全部失败。类似受检查异常和运行 时异常,部分支持事务,即不保证原子性,没有回滚)
‘ DISCARD’ 放弃事务 (事务所执行的命令以及部分改动全部取消)
63、 ‘ UNWATCH ’ 取消WATCH命令对所有Key 的监视
64、 ‘WATCH’ key.../[key] //类似乐观锁 监视一个或者多个key,如果在事务执行之前,这个key或者这些key被其他命令 所改动,那么事务将被打断。
消息的订阅和发布:先订阅,然后再给频道发布内容后,才能收到消息
65、 订阅频道: SUBSCRIBE 频道号(比如a) //也可以一次订阅多个频道 eg: SUBSCRIBE a b c
也可用通配符 * :PSUBSCRIBE cctv* //当给cctv开头的频道发消息时,不管是cctv几,订阅者都可以收到。
66、 给频道发消息 : PUBLISH a i am message //当消息发布后,订阅者就可以收到消息