Redis setrange 使用场景 -- 大数组模式

2 篇文章 0 订阅
1 篇文章 0 订阅

大数组模式

官网没有提供例子,自己补充了一个。大家如果有更好的例子欢迎留言讨论啊。


场景:比如我们要记录用户名(或者其他信息)。假定单个用户名字不超过64字节。新用户id通过一个incre指令获得, 名字存储可以这样:

setrange username (id-1)*64 real-name

也就是id为1的用户放在0到63,2的在64到127,….

取的时候,getrange username (id-1) (id-1+63)

哈,简单的几句就完成存储和读取了. 比mysql啥的爽多快多多多多了


取128到191的时候后面不会跟一堆0是因为redis那边字符串已经到尾巴啦。


归根结底的,redis就是给了一个大的数组,并提供o(1)的随机访问。相当于我们有了一块“大的内存空间”和几个访问修改函数。一般的思维模式可能是直接使用list等之类

来实现。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值