下面先来看看dict中的dictAdd方法:/*
 * 三个参数:字典指针、键、值
 */
int dictAdd(dict *d, void *key, void *val)
{
    /* 新建节点,entry=null */
    dictEntry *entry = dictAddRaw(d,key,NULL);
    /* 如果entry不为null,返回1 */
    if (            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 14:34:39
                            
                                48阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            redis学习笔记参考文档链接:https://pan.baidu.com/s/1sMUUYR3VGZcqPmJQNWeYDA  
密码:hf2n常用命令介绍:字符串命令set key value time
 		设置key
 	get key 
 		查询key,当key不存在时,返回空结果。
 	incr key
 		递增数字,让当前键值递增,并返回递增后的值。当要操作的键不存在时,默认值为            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 01:00:07
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我是?廖志伟?,一名?Java开发工程师?、?Java领域优质创作者?、?幕后大佬社区创始人?。拥有多年一线研发经验,研究过各种常见框架及中间件的底层源码,对于大型分布式、微服务、三高架构(高性能、高并发、高可用)有过实践架构经验。?博主:java_wxid ?博主:Java廖志伟 文章目录Redis五大数据类型实现原理redisObject属性type属性prt和encoding属性refcou            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-05 20:31:47
                            
                                33阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            nosql数据库redis提供了一系列的C接口,使用比较方便,但是对于一些任务,仍然存在很大的代码重复性,为了解决这种代码重复的问题,本文拟封装这些操作。关于redis的命令,可以参考http://redis.readthedocs.org。模板还是继承? 
  这是一个困扰我很多天的问题:如果想要实现一个通用的类库,需要兼容多种的写入数据类型,如何统一?如果使用了类模板,那么,统一接口的问题得以            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 19:04:26
                            
                                41阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            底层数据结构:Redis作为Key-Value存储系统,结构如下:RedisDB结构Redis中存在“数据库”的概念,该结构由redis.h中的redisDb定义。当redis 服务器初始化时,会预先分配 16 个数据库; 所有数据库保存到结构 redisServer 的一个成员 redisServer.db 数组中redisClient中存在一个名叫db的指针指向当前使用的数据库RedisDB结            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 14:34:18
                            
                                202阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、启动redis进入redis文件夹下,输入如下命令启动redissrc/redis-server ./redis.conf启动之后和客户端进行连接src/redis-cli会出现这么一个东西127.0.0.1:6379>,也就表示成功了。二、redis的数据类型redis有5种数据类型,分别如下String:字符串List:列表Set:集合Hash:散列Sorted Set:有序集合Hy            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-06 16:54:50
                            
                                53阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            基于StringRedisTemplate封装一个缓存工具类,满足下列需求:方法1:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置TTL过期时间方法2:将任意Java对象序列化为json并存储在string类型的key中,并且可以设置逻辑过期时间,用于处理缓存击穿问题方法3:根据指定的key查询缓存,并反序列化为指定类型,利用缓存空值的方式解决缓存穿透问题方法4            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-04 15:26:11
                            
                                84阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            微服务之前也一直听说过,但是一直没有机会用。刚好,想把公司最近基于ssm的分布式项目,重构成微服务的。网上看了一些教程。话不多说就准备弄了。整合后,发现项目一直报找不到redis对应的class文件的问题。解决过程:1.1试过在manage的后台,检查了common的jar是否存在对应的class文件,有,解决未果 1.2 将common里面的redis配置类,复制到对应的manage的包下,然后            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-14 18:05:19
                            
                                10阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            目录一、Redis概述二、Redis安装Linux版本下载地址:【windows】版本下载地址:三、文件介绍与基本使用redis.windows.conf主要配置详解reids服务端reids压测工具reids客户端aof文件校验、修复功能四、Redis五种数据结构         StringHashListSetSorted-Set五、Redi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 17:08:55
                            
                                69阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            为什么用Redis 是什么 一个小程序 缓存 & 数据库 单线程worker 新版本:IO threads epoll:多路复用 与Memcache区别 支持持久化:RDB快照、AOF日志 丰富的数据类型 速度 硬盘:寻址时间ms,带宽(吞吐)百兆~G/s(固态硬盘pci-e nvme) 内存:寻址            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2020-05-22 18:06:00
                            
                                304阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            # 如何实现 Redis 数据库
## 概述
在开始之前,让我们先了解一下 Redis 数据库。Redis 是一种开源的、高性能的键值存储系统,通常用作数据库、缓存和消息中间件。它支持多种数据结构,包括字符串、哈希、列表、集合和有序集合。Redis 提供了丰富的命令集合,使开发者可以轻松地对数据进行存储、读取和操作。
在本篇文章中,我将教你如何使用 Redis 数据库,并给出每一步所需的代码            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-16 18:56:38
                            
                                595阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            简介Redis作为目前最常用的K-V缓存数据库,因其具有访问速度快而备受欢迎,而其极快的访问速度是基于数据都在内存中来达到的。但是我们并不能保证服务永远是100%可用的,能保证99.999%可用就已经很了不得了,如果数据仅仅存储于内存中,那么意外的宕机就会导致数据丢失,那么对一些数据敏感的业务势必会造成不可泯灭的影响。所以Redis提供了数据持久化功能,目的就是将内存中的数据保存到磁盘上,同时也要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-30 18:41:51
                            
                                221阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            今天主要讲两个东西,一个是Redis的多个db机制,另一个是渐进式遍历。首先来讲一下Redis的多个db机制Redis中有个默认配置databases 16这个配置表示Redis启动后将有16个数据库,select 0 操作将切换到第一个数据库,select 15 将切换到最后一个数据库。每个数据库的数据之间没有任何关联,key都独立存在。多个数据库起到了一个隔离key的作用,但是这里强烈不推荐使            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-06 14:12:43
                            
                                100阅读
                            
                                                                             
                 
                
                             
         
            
            
            
             文章目录第二部分 单机数据库的实现第9章 数据库9.1 服务器中的数据库9.2 切换数据库9.3 数据库键空间9.3.1 添加新键9.3.2 删除键9.3.3 更新键9.3.4 对键取值9.3.5 其他键空间操作9.3.6 读写键空间时的维护操作9.4 设置键的生存时间或过期时间9.4.1 设置过期时间9.4.2 保存过期时间9.4.3 移除过期时间9.4.4 计算并返回剩余生存时间9.4.5             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-17 17:51:38
                            
                                90阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            使用go-redis时,如何操作select不会导致异常。
    先说结论。使用连接池的情况下,每一条Redis命令都将从连接池中获得一个连接,执行完后随即回收。因此在做切库操作时,使用Pipline来必须保证前后几条命令在同一个库执行。一,现象某个微服务中,我们的Redis key 集中在11库,因此连接池的默认库为11。由于历史原因,当需要获取设备信息时,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-25 16:39:23
                            
                                266阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            服务器中的数据库Redis中的所有的数据库都在redisServer结构的db数组里,db数组中每个元素都是一个redisDb结构,每个redisDb代表一个数据库。redisServer中的dbnum属性决定应该创建多少数据库,默认为16。切换数据库:通过select 命令来执行select 2  ------>切换到2号数据库服务器内部的redisClient结构的*db属性(一个指向r            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 22:58:16
                            
                                169阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.什么是Redis持久化?Redis是一个支持持久化的内存数据库,Redis需要经常将内存中的数据同步到磁盘来保持持久化。2.为什么要持久化?Redis中的数据都是保存在内存中, 为了防止发生断电时数据丢失。 所以要把内存中的数据保存到硬盘上。3.怎么做到持久化?Redis支持两种持久化方式:3.1.RDB(默认快照):将内存中数据以快照的方式写入到二进制文件中。方法: 在安装目录的redis.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-26 22:56:39
                            
                                108阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文章目录Redis的基本特性Redis的应用场景缓存计数器分布式ID生成海量的数据统计会话缓存(session)分布式队列/阻塞队列分布式锁实现热点数据存储社交类需求排行榜延迟队列redis的相关源码介绍Redis中的字符串Redis的字符串结构SDS小结Redis的字符串的代码实现Redis的value的存储RedisDb的存储结构dict结构存储总结redisDB主题数据结构 Redis的基            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-11 13:35:51
                            
                                90阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            数据库操作  1)  REDIS是全部由KEY和VALUE值构成,对数据库的增删改查操作都是基于在通过key 映射到哈希槽 然后通过哈希槽进行单向链式遍历 查找到value和具体的key。同样 在查看大师写的源码时可以说是一种很好借鉴:    这里所有的操作已经主体源码引用都是zai redis/src/db.c下进行的:查robj *lookup            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-22 16:43:44
                            
                                114阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.概述Redis服务器将所有的数据库都保存在redis.h/redisServer结构的db数组中,db数组每个项都是一个redis.h/redisDb结构,每个redisDb代表一个数据库。默认情况下dbNum=16,所以Redis服务器默认会创建16个数据库。默认情况下,redis客户端的目标数据库为0号数据库,客户端可以通过执行SELECT命令来切换数据库。2.实现源码:struct re            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-11 17:11:13
                            
                                146阅读
                            
                                                                             
                 
                
                                
                    