Redis五个基本数据类型详解

 我来答
温屿17
2022-06-22 · TA获得超过1.2万个赞
知道小有建树答主
回答量:827
采纳率:0%
帮助的人:95万
展开全部

docker pull redis

docker run -p 6379:6379 --name redis -v {路径}/redis.conf:/etc/redis/redis.conf -v {路径}/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

如果在setnx之后执行expire之前进程意外crash或者要重启维护了,那会怎么样?

set指令有非常复杂的参数,这个应该是可以同时把setnx和expire合成一条指令来用的!后面会讲具体怎么做。

下面是sds定义

而对于SDS,由于len属性和free属性的存在,对于修改字符串SDS实现了空间预分配和惰性空间释放两种策略:

1、空间预分配:对字符串进行空间扩展的时候,扩展的内存比实际需要的多,这样可以减少连续执行字符串增长操作所需的内存重分配次数。

2、惰性空间释放:对字符串进行缩短操作时,程序不立即使用内存重新分配来回收缩短后多余的字节,而是使用 free 属性将这些字节的数量记录下来,等待后续使用。(当然SDS也提供了相应的API,当我们有需要时,也可以手动释放这些未使用的空间。)

在原来的单链表基础上,我们查询数据需要从头遍历到尾,时间复杂度太高了。我们在思考提高查询效率时,在原有链表上添加索引,如果还是觉得查询太慢我们又在索引上再增加一级索引,以此类推。跳跃表的实质就是在单链表上一级一级地增加索引来达到加快查询的目的。

参考: https://zhuanlan.zhihu.com/p/161835019

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式