Redis的五种数据类型分别为String、Hash、List、Set、SortSet,这几种数据类型的思想和我们Java语言的使用方法很是相近,只是在这里表现出专有的命令格式,其中sorset是set的有序集,通过hashmap存储,中间增加了一层跳跃表。
如果大家没有虚拟机的运行环境,http://try.redis.io 做Redis命令的练习会特别方便~
一、String类型
1.set/get
1)设置key对应的值为String类型的value
2)获取key对应的值
2.mget: 批量获取多个key的值,如果可以不存在则返回nil
3.incr && incrby
incr对key对应的值进行加加操作,并返回新的值;incrby加指定值
4.decr && decrby
decr对key对应的值进行减减操作,并返回新的值;decrby减指定值
5.setnx:设置key对应的值为String类型的value,如果key已经存在则返回0
6.setex:设置key对应的值为String类型的value,并设定有效期
7.getrange :获取key对应value的子字符串
8.mset: 批量设置多个key的值,如果成功表示所有值都被设置,否则返回0表示没有任何值被设置
9.msetnx:同mset,不存在就设置,不会覆盖已有的key
10.getset:设置key的值,并返回key旧的值
11.append:给指定key的value追加字符串,并返回新字符串的长度
二、Hash类型
结构:l类似Map<String,Map<String,String>>
1.hset:设置key对应的HashMap中的field的value
2.hget:获取key对应的HashMap中的field的value
3.hgetall:获取key对应的HashMap中的所有field的value
4.hlen:返回key对应的HashMap中的field的数量
三、List类型
1.lpush:在key对应的list的头部添加一个元素
2.lrange:获取key对应的list的指定下标范围的元素,-1表示获取所有元素
3.lpop:从key对应的list的尾部删除一个元素,并返回该元素
4.rpush:在key对应的list的尾部添加一个元素
5.rpop:从key对应的list的尾部删除一个元素,并返回该元素
四、Set类型
1.sadd:在key对应的set中添加一个元素
2.smembers:获取key对应的set的所有元素
3.spop:随机返回并删除key对应的set中的一个元素
4.suion:求给定key对应的set并集
5.sinter:求给定key对应的set交集
五、SortSet类型
1.zadd:在key对应的zset中添加一个元素
2.zrange:获取key对应的zset中指定范围的元素,-1表示获取所有元素
3.zrem:删除key对应的zset中的一个元素
4.zrangebyscore:返回有序集key中,指定分数范围的元素列表,排行榜中运用
5.zrank:返回key对应的zset中指定member的排名。其中member按score值递增(从小到大);
排名以0为底,也就是说,score值最小的成员排名为0,排行榜中运用
六、消息发布订阅
1.PUBLISH :将信息message发送到指定的频道channel。返回收到消息的客户端数量
2.SUBSCRIBE:订阅给指定频道的信息
3.UNSUBSCRIBE: 取消订阅指定的频道,如果不指定,则取消订阅所有的频道。
例: