![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
一点一滴g
这个作者很懒,什么都没留下…
展开
-
redis学习总结
原创 2021-02-24 20:09:59 · 226 阅读 · 0 评论 -
redis学习笔记四:redis的持久化
全量模式的持久化(RDB)RDB持久化方式能够在指定的时间间隔能对你的数据进行快照(snapshotting)存储,将内存中的数据不断写入二进制文件中,默认文件dump.rdb,可配置Redis在n秒内如果超过m个key被修改就自动保存快照。例如:save 900 1 #900秒内如果超过1个key被修改,则发起快照保存。save 300 10 #300秒内如果超过10个key被修改,则快...原创 2019-07-23 14:45:55 · 141 阅读 · 0 评论 -
redis学习笔记三:redis命令的执行过程
原文地址:https://www.xilidou.com/2018/03/30/redis-recommend/Redis client(客户端)Redis 是单线程应用,它是如何与多个客户端简历网络链接并处理命令的?由于 Redis 是基于 I/O 多路复用技术,为了能够处理多个客户端的请求,Redis 在本地为每一个链接到 Redis 服务器的客户端创建了一个 redisClient 的...转载 2019-07-23 13:17:50 · 156 阅读 · 0 评论 -
redis学习笔记二:redis中的事件驱动模型
原文地址:https://www.xilidou.com/2018/03/22/redis-event/Redis 是一个事件驱动的内存数据库,服务器需要处理两种类型的事件。文件事件时间事件下面就会介绍这两种事件的实现原理。文件事件Redis 服务器通过 socket 实现与客户端(或其他redis服务器)的交互,文件事件就是服务器对 socket 操作的抽象。 Redis 服务器...转载 2019-07-23 11:37:05 · 139 阅读 · 0 评论 -
redis学习笔记一:数据库redisDb和键过期删除策略
数据库前面我们介绍过redis底层的数据结构,实现上相对比较复杂,但不要担心,redis已经为我们进行了具体的封装,帮助我们简化使用。Redis的数据库使用字典作为底层实现,数据库的增、删、查、改都是构建在字典的操作之上的。redis服务器将所有数据库都保存在服务器状态结构redisServer(redis.h/redisServer)的db数组(应该是一个链表)里:struct redi...转载 2019-07-19 16:34:49 · 566 阅读 · 0 评论 -
redis学习笔记八:Redis事务浅析与ACID特性介绍
redis事务1.redis事务介绍redis的事务可以理解为一系列串行命令的集合。redis的事务和单条命令一样,都是redis的最小执行单位,因此一个事务内的命令,要么全部执行,要么全部不执行。事务的概念对于熟悉数据库的人们并不陌生,而redis作为一个数据库系统,也对事务进行了一定的支持。 redis实现事务的方式简单来说是将一系列的命令先保存在一个队列中,然后交给redis串行化的...原创 2019-07-23 20:55:51 · 205 阅读 · 0 评论 -
redis学习笔记七:redis缓存淘汰策略
redis 提供 6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰...原创 2019-07-23 17:27:27 · 116 阅读 · 0 评论 -
redis学习笔记六:Redis集群机制
主从机制中,主服务器可能存在单点故障,万一主服务器宕机,这是个麻烦事情,所以Redis提供了Redis-Sentinel,以此来实现主从切换的功能,类似于zookeeper。Sentinel(哨兵)Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有...转载 2019-07-23 17:13:39 · 215 阅读 · 0 评论 -
redis学习笔记五:主从复制详解
数据库复制指的是发生在不同数据库实例之间,单向的信息传播的行为,通常由被复制方和复制方组成,被复制方和复制方之间建立网络连接,复制方式通常为被复制方主动将数据发送到复制方,复制方接收到数据存储在当前实例,最终目的是为了保证双方的数据一致、同步。Redis复制方式Redis的复制方式有两种,一种是主(master)-从(slave)模式,一种是从(slave)-从(slave)模式,因此Redi...转载 2019-07-23 16:04:16 · 226 阅读 · 0 评论 -
edis内部数据结构详解(6)——intset
Redis里面使用intset是为了实现集合(set)这种对外的数据结构。set结构类似于数学上的集合的概念,它包含的元素无序,且不能重复。Redis里的set结构还实现了基础的集合并、交、差的操作。与Redis对外暴露的其它数据结构类似,set的底层实现,随着元素类型是否是整型以及添加的元素的数目多少,而有所变化。概括来讲,当set中添加的元素都是整型且元素数目较少时,set使用intset作为...转载 2019-07-18 14:22:27 · 325 阅读 · 0 评论 -
Redis内部数据结构详解(5)——skiplist
Redis里面使用skiplist是为了实现sorted set这种对外的数据结构。sorted set提供的操作非常丰富,可以满足非常多的应用场景。这也意味着,sorted set相对来说实现比较复杂。同时,skiplist这种数据结构对于很多人来说都比较陌生,因为大部分学校里的算法课都没有对这种数据结构进行过详细的介绍。因此,为了介绍得足够清楚,本文会比这个系列的其它几篇花费更多的篇幅。我们...转载 2019-06-18 19:40:15 · 138 阅读 · 0 评论 -
Redis内部数据结构详解(4)——quicklist
在本文中,我们介绍一个Redis内部数据结构——quicklist。Redis对外暴露的list数据类型,它底层实现所依赖的内部数据结构就是quicklist。我们在讨论中还会涉及到两个Redis配置(在redis.conf中的ADVANCED CONFIG部分):list-max-ziplist-size -2list-compress-depth 0quicklist概述Redis...转载 2019-05-06 15:35:19 · 538 阅读 · 0 评论 -
Redis内部数据结构详解(3)------ziplist
转自http://zhangtielei.com什么是ziplistRedis官方对于ziplist的定义是(出自ziplist.c的文件头部注释):The ziplist is a specially encoded dually linked list that is designed to be very memory efficient. It stores both string...转载 2019-05-05 19:05:26 · 170 阅读 · 0 评论 -
Redis内部数据结构详解(2)——sds
转自http://zhangtielei.comRedis内部数据结构详解(2)——sdssds正是在Redis中被广泛使用的字符串结构,它的全称是Simple Dynamic String。与其它语言环境中出现的字符串相比,它具有如下显著的特点:可动态扩展内存。sds表示的字符串其内容可以修改,也可以追加。在很多语言中字符串会分为mutable和immutable两种,显然sds属于mu...转载 2019-04-25 13:01:05 · 191 阅读 · 0 评论 -
Redis内部数据结构详解(1)——dict
关注点首先,我们要明白自己是出于什么样的目的去研究Redis的数据结构,该关注那些地方呢?就个人而言,我觉得要从以下这几方面出发:存储效率(memoryefficiency)。Redis是专用于存储数据的,它对于计算机资源的主要消耗就在于内存,因此节省内存是它非常非常重要的一个方面。这意味着Redis一定是非常精细地考虑了压缩数据、减少内存碎片等问题。快速响应时间(fast respons...转载 2019-04-23 15:50:43 · 219 阅读 · 0 评论 -
Redis从放弃到入门
redis 是什么?Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。Redis 数据结构动态字符串 (Sds)双端列表 (LINKEDLIST)字典跳跃表 (SKIPLIST)整数集合 (INTSET)压缩列表 (ZIPLIST)动态字符串Sds (Simple Dynamic String,简单动态字...转载 2019-04-22 20:36:02 · 129 阅读 · 0 评论 -
Redis之基础数据类型
原文地址:https://www.xilidou.com/2018/03/12/redis-data/SDSSDS (Simple Dynamic String)是 Redis 最基础的数据结构。直译过来就是”简单的动态字符串“。Redis 自己实现了一个动态的字符串,而不是直接使用了 C 语言中的字符串。sds 的数据结构:struct sdshdr { // buf ...转载 2019-04-23 12:48:50 · 348 阅读 · 0 评论