关于Redis的n种妙用,不仅仅是缓存
副问题[/!--empirenews.page--]
redis是键值对的数据库,常用的五种数据范例为字符串范例(string),散列范例(hash),列表范例(list),荟萃范例(set),有序荟萃范例(zset)。 Redis用作缓存,首要两个用途:高机能,高并发,由于内存自然支持高并发。 应用场景漫衍式锁(string) setnx key value,当key不存在时,将 key 的值设为 value ,返回1。若给定的 key 已经存在,则setnx不做任何举措,返回0。 当setnx返回1时,暗示获取锁,做完操纵往后del key,暗示开释锁,假如setnx返回0暗示获取锁失败,整体思绪或许就是这样,细节照旧较量多的,偶然刻单开一篇来讲授 计数器(string) 如知乎每个题目的被赏识器次数
漫衍式全局独一id(string) 漫衍式全局独一id的实现方法有许多,这里只先容用redis实现 每次获取userId的时辰,对userId加1再获取,可以改造为如下情势 直接获取一段userId的最大值,缓存到当地逐步累加,快到了userId的最大值时,再去获取一段,一个用户处事宕机了,也顶多一小段userId没有效到
动静行列(list) 在list内里一边进,一边出即可
新浪/Twitter用户动静列表(list) 若是说小编li存眷了2个微博a和b,a发了一条微博(编号为100)就执行如下呼吁
b发了一条微博(编号为200)就执行如下呼吁:
若是想拿最近的10条动静就可以执行如下呼吁(最新的动静必然在list的最左边):
抽奖勾当(set)
实现点赞,签到,like等成果(set)
seven存眷的人 sevenSub -> {qing, mic, james} 青山存眷的人 qingSub->{seven,jack,mic,james} Mic存眷的人 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |