Redis
Connor_Zhou__
这个作者很懒,什么都没留下…
展开
-
Redis的过期键删除策略
过期字典过期键的判断过期键删除策略原创 2019-07-15 18:37:58 · 130 阅读 · 1 评论 -
Redis事务的ACID性质
在传统关系型数据库中,常用ACID性质来检验事务的安全性和可靠性。在Redis中,事务总是具有原子性(Atomicity)、一致性(Consistency)、和隔离性(Isolation)的,并且当Redis运行在一些特定的持久化模式下,事务也具有耐久性(Durability)。原子性事务具有原子性是指,数据库事务中将多个操作看做一个整体来执行,要么执行所有的操作,要么一个操作也不执行。对...原创 2019-07-12 09:41:19 · 866 阅读 · 1 评论 -
Redis持久化
Redis是一个键值对数据库服务器,并且是内存数据库。在处理客户端请求时都是在内存中操作,如果没有将内存中的数据保存到磁盘上,那么一旦服务器宕机或者进程退出,内存中的数据就会消失。对于只把Redis当做缓存的项目来说,数据消失问题不大,只需要重新从数据源把数据加载进来就可以。但是如果是将Redis当做存储数据库来使用,数据消失是不能被允许的。为了解决这个问题,Redis提供了两种方式来使数据持...原创 2019-08-06 16:46:21 · 224 阅读 · 1 评论 -
Redis字典(dict)--含源码
字典,是一种保存键值对(key-value)的数据结构。字典的键是唯一的,程序可以通过键来对值进行修改,或者根据键来删除整个键值对。字典作为一种常用的数据结构,被很多高级编程语言内置,如PHP的array,python的dict。但Redis由C语言实现,并没有内置这种数据结构,因此Redis构建了自己的字典结构。Redis键值对形式的数据库就是由字典实现的。Redis底层是有哈希表实现的,一...原创 2019-08-21 17:50:38 · 309 阅读 · 1 评论 -
Redis简单动态字符串(SDS)--含源码
简单动态字符串在Redis的数据库里面,包含字符串值的键值对在底层由简单动态字符串(simple dynamic string,SDS)实现。例如客户端执行命令:redis> SET msg "Redis"OKRedis在数据库中创建了这个键值对。键是一个字符串对象,对象底层实现是一个保存着字符串“msg”的SDS值是一个字符串对象,对象底层实现是一个保存着字符串“Redi...原创 2019-08-13 10:45:23 · 239 阅读 · 1 评论 -
Redis链表(adlist)--含源码
链表作为经典且常用的数据结构,在很多高级编程语言中都内置了链表这种数据额结构,但是Redis是有C语言实现,并没有内置这种数据结构,所以Redis自身构建了链表。节点和链表的实现listNode结构表示为:typedef struct listNode { struct listNode *prev; // 指向前一个元素的指针 struct listNode *next; ...原创 2019-08-17 17:01:34 · 275 阅读 · 1 评论