摘要: 一、redis的过期策略和内存淘汰机制 1、定期删除+惰性删除 定期删除:指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除 惰性删除:在你获取某个key的时候,redis会检查一下 ,这个key如果设置了过期时间那么是否过期了,如果过期了此时就 阅读全文
posted @ 2020-07-01 20:09 H.U.C-王子 阅读(171) 评论(0) 推荐(0) 编辑
摘要: String: 一般做一些复杂的计数功能的缓存List: 做简单的消息队列的功能Hash: 单点登录Set: 做全局去重的功能SortedSet: 做排行榜应用,取TopN操作;延时任务;做范围查找 类型简介特性场景 String (字符串) Redis的字符串是动态字符串,是可以修改的字符串,它的 阅读全文
posted @ 2020-07-01 20:00 H.U.C-王子 阅读(173) 评论(0) 推荐(0) 编辑
摘要: Redis为什么设计成单线程模式因为redis是基于内存的读写操作,所以CPU不是性能瓶颈,而单线程更好实现,所以就设计成单线程模式 单线程模式省却了CPU上下文切换带来的开销问题,也不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗。 单线程为什么快完全基于内存的操 阅读全文
posted @ 2020-07-01 17:19 H.U.C-王子 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 1、首先redis是单线程的,为什么redis会是单线程的呢?从redis的性能上进行考虑,单线程避免了上下文频繁切换问题,效率高;从redis的内部结构设计原理进行考虑,redis是基于Reactor模式开发了自己的网络事件处理器: 这个处理器被称为文件事件处理器(file event handl 阅读全文
posted @ 2020-07-01 17:16 H.U.C-王子 阅读(906) 评论(0) 推荐(0) 编辑
摘要: Redis 和 Memcached 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务,其本质上就是一个内存key-value数据库。Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希 阅读全文
posted @ 2020-07-01 16:54 H.U.C-王子 阅读(1071) 评论(0) 推荐(0) 编辑