Redis
文章平均质量分 86
一个 Java 初学者对 Redis 的学习过程
星辰与晨曦
Java才是最好的语言
展开
-
Redis 的内存策略
内存过期:是设置一个key的过期时间,到过期时间的时候,我们就可以向办法将其删除。删除的策略是由两种的,一种是惰性删除,就是在访问的那一刻,检查一下是否过期,若是过期,就删除,若没有过期,就正常访问。另外一种是周期性删除,就是一个定期的任务,没隔一段时间,就尝试去清理一些过期的 key。这就是过期策略。...原创 2022-08-06 17:58:19 · 988 阅读 · 0 评论 -
Redis 通信协议 -- RESP
因此客户端发送命令的格式、服务端响应结果的格式必须有一个规范,这个规范就是通信协议。而在Redis中采用的是 RESP(Redis Serialization Protocol)协议。原创 2022-08-04 20:07:47 · 449 阅读 · 0 评论 -
Redis是单线程吗?以及为什么使用单线程(Redis 的网络模型)
如果仅仅聊Redis的核心业务部分(命令处理),它当然是单线程的。 如果是聊整个Redis,那么答案就是多线程。原创 2022-08-04 18:13:24 · 1939 阅读 · 1 评论 -
从底层看 Redis 的五种数据类型
如果存储的字符串是整数值,并且大小在LONG_MAX范围内,则会采用INT编码:直接将数据保存在RedisObject的ptr指针位置(刚好8字节),不再需要SDS了。当存储的所有数据都是整数,并且元素数量不超过 set-max-intset-entries 时,Set 会采用 IntSet 编码,以节省内存空间。QuickList:LinkedList + ZipList,可以从双端访问,内存占用较低,包含多个ZipList,存储上限高。为了查询效率和唯一性,SET 采用 HT 编码(Dict)。...原创 2022-08-03 20:46:53 · 369 阅读 · 0 评论 -
Redis 底层的数据结构
Dict的结构它是类似java的HashTable,底层是数组加链表来解决哈希冲突Dict中是包含两个哈希表,ht[0]平常用,ht[1]用来rehash时使用的当LoadFactor大于5或者LoadFactor大于1并且没有子进程任务时,Dict扩容扩容大小为第一个大于等于used+1的2^n当LoadFactor小于0.1时,Dict收缩收缩大小为第一个大于等于used的2^nDict采用渐进式rehash,每次访问Dict时就执行一次rehash;......原创 2022-08-01 07:16:47 · 326 阅读 · 0 评论 -
Redis 的分布式缓存
如果master继续写入新数据,其offset就会覆盖旧的数据,直到将slave现在的offset也覆盖,那么此时如果slave想要恢复,就需要同步,却发现自己的offset都没有了,无法完成增量同步了。哨兵模式就是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。主从模式很好的解决了数据备份问题,并且由于主从服务数据几乎是一致的,因而可以将写入数据的命令发送给主机执行,而读取数据的命令发送给不同的从机执行,从而达到读写分离的目的。......原创 2022-07-17 10:55:10 · 1453 阅读 · 1 评论 -
Redis 的 Java 客户端
在这我就主要介绍的是 Jedis 和 SpringDataReids 的客户端创建一个 maven 工程。首先在 maven 中引入依赖先新建一个单元的测试类:测试前的初始化:测设内容:测试内容结束后的一些操作(释放资源):执行结果就为:用 Hash 类型的数据再测试一下:也都是没有问题的。但在这里我们就要考虑一个问题了:Jedis 本身是线程不安全的,并且频繁的创建和销毁连接会有性能损耗,因此我们推荐大家使用 Jedis连接池代替 Jedis 的直连方式。创建一个 Jedis 自带的连接池,原创 2022-07-15 14:17:48 · 391 阅读 · 0 评论 -
初始 Redis(认识Redis以及常见命令)
Redis是一个key-value的数据库,key一般是字符串,而value包含有很多不同的数据类型数据结构基本类型StringHash{name18}ListSet{A,B,C}SortedSet{A1,B2,C3}特殊类型GEO{ABitMapHyperLogRedis为了方便我们学习,将操作不同数据类型的命令也做了分组,在官网https可以查看到不同的命令。KEYS查看符合模板的所有keyDEL删除一个指定的key。...原创 2022-07-14 21:34:03 · 513 阅读 · 0 评论