![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 91
redis基础、应用、原理、集群、拓展、源码 探索
用最简单的知识梳理,快速掌握redis的精华
IT_faquir
站在十字路口,每个选择都是不同的人生。
展开
-
Spring整合redis(较新版)
前奏Redis是一种特殊类型的数据库,称之为key-value存储。和HashMap有很大相似度。可以不夸张的说,它们就是持久化的哈希Map。 在大部分情况下,我们开发java项目通常会结合Spring进行整合操作。我们可以利用Spring Data面向模板的数据访问来使用Redis数据库。 Spring Data Redis 提供四个Redis客户端实现的连接工厂JedisConnectio原创 2017-05-11 17:32:57 · 6979 阅读 · 0 评论 -
深入了解redis运作 -- redis原理篇
线程IO模型Redis 是个单线程程序!Redis 单线程为什么还能这么快?使用单线程减少了线程的竞争切换;使用了多路复用的处理机制;基于内存的运算;需要注意谨慎操做时间复杂度为 O(n) 级别的指令操作,以防止Redis卡顿Redis 单线程如何处理那么多的并发客户端连接?多路复用(通过 select 系统调用同时处理多个通道描述符的读写事件)相当于NIO非阻塞 IO 有个处理时机问题那就是线程要读数据,结果读了一部分就返回了,线程如何知道何时才应该继续读?也就是当数据到来时原创 2021-09-08 18:52:50 · 647 阅读 · 0 评论 -
redis key操作大全
redis key操作大全Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 后面增加了: Bit arrays (或者说 simply bitmaps) 在 2.8.9 版本添加了 HyperLogLog 结构redis简单操作默认情况下redis提供16个db即db0~15,...原创 2018-04-01 00:01:17 · 15284 阅读 · 0 评论 -
利用redis完成分布式锁、延迟队列、位图、布隆过滤器、限流等应用说明 -- Redis应用篇
分布式锁目标:解决并发的问题分布式锁本质上就是在 Redis 里面占一个“坑”,当别的进程也要来占时,发现坑位被占了,就只好放弃或者稍后再试。使用 setnx(set if not exists) 指令,来实现占坑, del 指令释放坑位redis 分布式锁演进直接加锁,释放锁。(存在的问题:释放异常了,造成锁一直存在,导致死锁)加锁,锁过期时间,释放锁。(存在的问题:加锁和锁过期时间之间失败了,导致死锁)引入三方分布式锁方式 (存在的问题:太复杂,麻烦,很乱)redis 2.8后,red原创 2020-10-22 16:56:36 · 851 阅读 · 1 评论 -
重新认识Redis中的数据结构 string、list、set 、hash 和 zset -- redis基础篇
Redis 有 5 种基础数据结构,分别为:string (字符串)、list (列表)、set (集合)、hash (哈 希) 和 zset (有序集合)。String:Redis 的字符串是动态字符串,是可以修改的字符串,内部结构实现上类似于 Java 的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配,如图中所示,内部为当前字符串实际分配的空间 capacity 一般要高于实际字符串长度 len。当字符串长度小于 1M 时,扩容都是加倍现有的空间,如果超过 1M,扩容时一次只原创 2020-10-22 16:46:10 · 608 阅读 · 0 评论