
Redis
文章平均质量分 67
Redis
蛋焊工
搬砖小学生
展开
-
lua incr and expire
lua hash incr and expire原创 2023-04-28 15:49:36 · 166 阅读 · 0 评论 -
Redis中jedis与lettuce区别
1、Jedis优点:提供了比较全面的 Redis 操作特性的 APIAPI 基本与 Redis 的指令一一对应,使用简单易理解缺点:同步阻塞 IO不支持异步线程不安全2、Lettuce优点:线程安全基于 Netty 框架的事件驱动的通信,可异步调用适用于分布式缓存缺点:API 更抽象,学习使用成本高...原创 2022-02-16 11:03:32 · 2475 阅读 · 0 评论 -
redis-cli命令行远程连接redis服务
1. redis-cli命令行远程连接redis服务redis-cli -h host -p port -a passwordhost:远程redis服务器hostport:远程redis服务端口password:远程redis服务密码原创 2022-01-11 18:09:08 · 6649 阅读 · 1 评论 -
实现分布式锁的三种方式
1、数据库的乐观锁(版本号机制)悲观锁与乐观锁2、基于Redis的分布式锁加锁public class RedisTool { private static final String LOCK_SUCCESS = "OK"; private static final String SET_IF_NOT_EXIST = "NX"; private ...原创 2017-12-09 15:55:41 · 470 阅读 · 0 评论 -
Redis字典数据结构之dict
一、dict数据结构:#dict字典的数据结构typedef struct dict{ dictType *type; //直线dictType结构,dictType结构中包含自定义的函数,这些函数使得key和value能够存储任何类型的数据 void *privdata; //私有数据,保存着dictType结构中函数的 参数 dictht ht[2]; //两张哈希表 long rehashidx; //rehash的标记,rehashidx=-1表示没有进行r.原创 2021-07-20 17:42:16 · 327 阅读 · 0 评论 -
Redis集群模式
1、主从模式(Master-slave)Redis 如何实现主从模式?Redis 的从服务器在向主服务器发起同步时,一般会使用 SYNC 或 PSYNC(Redis 2.8版本)命令。初次同步当从服务器收到 SLAVEOF 命令后,会向其主服务器执行同步操作,进入主从复制流程。从服务器向主服务器发起SYNC 或 PSYNC 命令 主服务器执行 BGSAVE命令,生成 RDB 文件,并使用缓存区记录从现在开始的所有写命令 RDB 文件生成完成后,主服务器会将其发送给从服务器..原创 2021-07-20 15:07:46 · 214 阅读 · 1 评论 -
Redis原理之String底层数据结构SDS(Simple Danamic String)
Redis是C语言开发的,但是Redis字符串没有直接使用C语言的字符串,学过c语言的朋友应该都知道,C语言字符串是以"\0"结尾的,那为什么Redis没有直接使用C语言的字符串,而是使用简单动态字符串SDS(Simple Danamic String)?1、SDS(Simple Danamic String)数据结构struct sdshdr{ //记录buf数组中已使用字节的数量 //等于 SDS 保存字符串的长度 int len; //记录 buf 数...原创 2021-02-20 15:53:10 · 386 阅读 · 2 评论 -
Redis问题总结
Redis无论有没有设置expire,他都会遵循redis的配置好的删除机制,在配置文件里设置: redis最大内存不足时,数据清除策略,默认为"volatile-lru"。 In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist but has no associated expire. Starting with Redis 2.8 the retur..原创 2021-02-20 12:33:23 · 1381 阅读 · 0 评论 -
MySQL里有2000w数据,Redis中只存20w的数据,如何保证redis中的数据都是热点数据?
相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。redis 提供 6种数据淘汰策略:voltile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰;volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰;volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰;allkeys-l原创 2020-08-31 17:38:13 · 1361 阅读 · 0 评论 -
Redis的两种持久化RDB和AOF
Redis持久化备份数据的方式有两种:RDB(Redis DataBase) 、 AOF(Append Only File).1、什么是RDB在指定时间间隔内,将内存中的数据集快照写入磁盘,存储在默认名为dump.rdb的文件中。(要注意,这个文件的位置取决于redis-server启动时的路径)在redis进行rdb持久化数据时,会fork一个完全一样的进程作为redis的子进程,由子进程来完成数据写入磁盘的工作。在这个过程中,只有子进程来负责IO操作,主进程仍然处理客户端的请求,这就确保了.原创 2020-08-31 17:22:10 · 235 阅读 · 0 评论 -
Redis为什么是单线程还这么快?
1、Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽;2、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU;3、采用网络IO多路复用技术来保证在多连接的时候, 系统的高吞吐量。多路-指的是多个socket连接,复用-指的是复用一个线程。...原创 2020-03-25 12:05:36 · 261 阅读 · 0 评论 -
缓存穿透、缓存击穿、缓存雪崩概念及解决方案
缓存穿透概念访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤; 访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。缓存雪崩概念大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增...原创 2018-09-12 11:50:11 · 305 阅读 · 0 评论 -
windows下启动redis
打开cmd,进入redis的安装目录,输入redis-server redis.windows.conf命令原创 2017-11-23 17:13:32 · 329 阅读 · 0 评论