redis
redis学习
Yee Jason
这个作者很懒,什么都没留下…
展开
-
redis (跳跃表)
有序集合在生活中教常见,如根据成绩对学生进行排名,对于有序集合的实现,我们可以使用数组、链表、平衡树等结构,数组不便于元素的插入和删除,链表的查询效率低,需要遍历所有的元素;平衡树或者红黑数等结构虽然效率高但实现复杂。redis采用了一种新型的数据结构 --- 跳跃表,跳跃表的效率堪比红黑数,然而其实现远比红黑数简单。有序链表只能逐一查询,导致操作起来非常慢,跳跃表在此基础上,增加了多级索引,通过索引位置的几个跳转,实现数据的快速定位。...原创 2020-10-14 22:28:03 · 295 阅读 · 0 评论 -
redis字符串(sds)
Redis没有直接使用 C 语言的字符串,而是自己创建了名为 SDS (simple dynamic string, SDS) 的字符串。什么是二进制安全? C 语言中,用 “\0” 表示字符串的结束,如果字符串本身就有 “\0” 字符,字符串就会截断,既非二进制安全,若通过某种机制,保证读写字符串时不受损坏内容,则是二进制安全。一、数据结构 ( 在 sds.h 中可以看到如下 5 种数据结构:)struct __attribute__ ((__packe...原创 2020-10-10 20:12:50 · 367 阅读 · 0 评论 -
记录一次 redis连接次数过多问题
问题:可以看到redis 连接数 1800 左右执行命令:./redis-cli info clients查看redis 连接的客户端./redis-cli client list可以看到 idle 是空闲时间,而这个空间时间大概是每个链接空间100多天、有大量死连接没有释放掉。解决问题:设置 redis server 的 time_out时间结果: redis连接数只有200多...原创 2020-09-04 13:27:58 · 3211 阅读 · 0 评论