Redis
文章平均质量分 55
liuhmmjj
对计算机编程很有兴趣
展开
-
redis 为什么对数字/字符串append操作后,编码格式object encoding从int/embstr变成raw了
不单单int编码类型(type是string),进行字符串操作后,会自动转码为raw;对普通的短字符串(长度小于等于44个字节)进行append操作后,编码格式也会发生改变(即使操作后长度还是小于等于44个字节也会由原来的embstr变成raw)!embstr存储形式将 RedisObject 对象头和 SDS 对象连续存在一起,使用 malloc 方法一次分配。redis 3.2之后empstr只能容纳44字节:embstr的最小占用空间为19(16+3),而64-19-1(结尾的..原创 2022-02-14 14:55:32 · 1037 阅读 · 0 评论 -
Mac环境下使用CLion调试redis 6.X源码
1.下载并安装CLion下载地址:Download CLion: A Smart Cross-Platform IDE for C and C++2.打开CLion并导入redis源码源码地址:https://github.com/redis/redis选择自己要下载的版本,我这里下载的6.2.1导入CLion步骤:将上图中复制的地址导入CLion,或者下载ZIP包然后解压后导入,这步骤很简单2.进行编译构建这一过程有可能出现下面的错误:...原创 2022-02-11 11:33:02 · 1755 阅读 · 1 评论 -
Mac下安装Redis
使用Homebrew安装Redis(1)安装命令:brew install redis(2)查看软件安装及配置文件位置Homebrew安装的软件会默认在/usr/local/Cellar/路径下;redis的配置文件redis.conf存放在/usr/local/etc路径下(3) 启动redis服务方法一:brew除了可以帮助我们安装软件以外,还可以帮助我们启动软件brew services start redis方法二:redis-server /usr转载 2021-09-01 20:49:32 · 218 阅读 · 0 评论 -
redis缓存穿透、击穿、雪崩解决方案
缓存穿透缓存穿透,是指查询一个数据库一定不存在的数据。正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存。如果数据库查询对象为空,则不放进缓存。例如:从缓存redis没有命中,需要从mysql数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。解决思路:如果查询数据库也为空,直接设置一个默认值存放到缓存,这样第二次到缓冲中获取就有值了,而不会继续访问数据库。设置原创 2020-09-03 14:45:09 · 378 阅读 · 0 评论 -
springboot集成redis (Lettuce)
目前java操作redis的客户端有jedis跟Lettuce。在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce。 因为我们的版本是springboot2.x系列,所以今天使用的是Lettuce。关于jedis跟lettuce的区别:Lettuce 和 Jedis 的定位都是Redis的client,所以他们当然可以直接...原创 2020-04-03 15:40:21 · 25558 阅读 · 19 评论 -
centos与Windows下安装Redis
安装:yuminstallredis使用配置文件启动 redis,配置文件在/etc/redis.confredis-server/etc/redis.conf &连接客户端redis-cli服务器和客户端在 /usr/bin/redis-server redis-cliwhereis redis 可以查看配置文件在哪下面附Windows...原创 2019-05-22 16:32:20 · 5799 阅读 · 0 评论