![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 81
softwareDragon
软件工程师一枚
展开
-
Redis 过期策略 内存淘汰机制 原理
一:删除策略 1.定期删除 redis默认每隔100ms会随机抽取一些设置了过期的key进行检查其是否过期,如果过期了就删除 2.惰性删除 因定期删除可能导致很多过期key到了时间并没有被删除掉,这就用到了惰性删除,就是你在获取某个key的时候,redis会检查下,这个key是否设置了过期时间,如果设置了而且已经过期了,就会删除而且不会给你返回任何东西,并不是key到时间就被删除掉,而是你查询这个key的时候,redis才会进行检查 二:内存淘汰策略 如果redis的内存占用过多的时候,此时会进行内原创 2020-11-26 21:52:32 · 371 阅读 · 0 评论 -
Redis 单线程原理 示意图
1.客户端向redis server发送socket连接到server socket,server socket接收到请求后会产生AE-READBLE事件,IO多路复用程序会监听到AE-READBLE事件,IO多路复用程序中有一个队列,客户端来的请求会进入到里边,后边就是文件事件分派器,接着就到连接应答处理器,server socket接收到连接后,命令请求处理器会读出来数据,在自己内存中完成key.value数据处理,命令回复处理器处理完后,IO多路复用程序会监听AE-WRITEABLE事件,再返回到客户原创 2020-11-26 17:09:37 · 275 阅读 · 0 评论 -
redis memcahe 区别
1.redis单线程,memcache多线程 2.redis数据类型更丰富,memcache比较单一 3.reids官方支持原生cluster模式,memcache不支持原创 2020-11-26 15:58:51 · 108 阅读 · 0 评论 -
Redis中的数据类型类比java数据类型
String:等同于java中的,Map<String,String> list:等同于java中的Map<String,List<String>> set:等同于java中的Map<String,Set<String>> sort_set:可排序的set hash:等同于java中的:`Map<String,Map<String,String>> ...原创 2020-09-15 09:52:26 · 209 阅读 · 0 评论 -
springboot基于Redis实现Mybatis二级缓存(自定义缓存)
Springboot + Mybatis + Redis Mybatis的二级缓存是多个SqlSession共享的,作用于是mapper配置文件中同一个namespace,不同的SqlSession两次执行相同namespace下的sql语句且参数如果也一样则最终执行的sql语句是相同的。每次查询都会先看看缓存中是否有对应查询结果,如果有就从缓存拿,如果没有就执行sql语句从数据库中读取,从而提高...转载 2020-03-24 15:17:39 · 554 阅读 · 0 评论 -
Redis 单线程为什么还这么快
1.采用内存存储数据,相比磁盘存储快很多 2.非堵塞io多路复用。 多路:多个网络连接 复用:公用一个线程 3.单线程操作,避免了不必要的上下文切换和竞争条件 ...原创 2020-02-23 12:08:58 · 62 阅读 · 0 评论 -
Redis 数据类型String Hash list set使用场景
String类型使用场景 计数器 例如一篇文章有多少人看过使用 INCR article:readcount:文章id 取值为GET article:readcount:文章id hash类型使用场景 电商的购物车 hset cart:用户id 商品id 商品数量 增加同样商品的数量 hincrby cart:用户id 商品id 商品数量 取出某商品的数量 hget ca...原创 2020-02-17 22:04:18 · 639 阅读 · 0 评论