redis-API

string:
string最大 512M 
setnx命令,如果不存在,设置成功,如果存在,设置失败.
多个客户端同时执行setnx key,根据setnx特性只有一个客户端执行成功,setnx可以作为分布式锁的一种实现方案。
实现分布式锁的方法https://redis.io/topics/distlock
在指定位置设置字符
setrange key offset value

获取部分字符串
getrange key start end
字符串的应用场景
1.在数据库与web之间做缓存,增加读写速度,减小数据库压力
2.计数器
3.session共享,分布式服务会均衡用户到不同的服务器,为了保证记录用户登录信息,需要做session共享
4.限速,限制短信验证码或者网站ip的访问频率
注意:字符串类型键,执行set命令会将过期时间清除

 hash:

hash获取map
Map<String,String> hash = redis.hgetall(hashkey);

 list:

关于list lrange key start end中列表的索引
索引下标从左到右分别是0 N-1
从右到左为-1 -N
list使用场景:
消息队列 使用lrpush和brpush实现消息队列

set:

scard计算元素个数
直接访问redis内部变量
·sadd=Tagging(标签)
·spop/srandmember=Random item(生成随机数,比如抽奖)
·sadd+sinter=Social Graph(社交需求)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
posted @ 2017-06-14 11:33  叶落之秋  阅读(332)  评论(0编辑  收藏  举报