文章分类 -  redis

缓存雪崩、缓存击穿以及缓存穿透
摘要:缓存雪崩 缓存雪崩是指大量的请求无法再缓存中处理,从而将请求转移到数据库中,导致数据压力倍增。一个redis实例可以支持万级别的并发请求,而单个数据库只能支持千级别的并发请求。两者处理请求并发能力相差十倍,数据库会由于压力过大而导致雪崩。 原因一:缓存中大量数据同时过期 一般设置缓存数据会设置缓存时 阅读全文
posted @ 2022-06-22 17:29 会飞的金鱼 阅读(296) 评论(0) 推荐(0)
解决数据库和缓存数据不一致情况,延迟双删
摘要:当查询频率大于修改频率,就需要使用缓存技术。先请求redis,redis存在就返回缓存数据,redis不存在就查询数据库,返回数据的同时将数据库缓存到reids中。 数据一致性情况: 缓存有数据,那么缓存的值和数据库中的值相同。 缓存没有数据,那么数据库中的值必须是最新值。 问题: 数据库或缓存更新 阅读全文
posted @ 2022-06-22 15:27 会飞的金鱼 阅读(477) 评论(0) 推荐(0)
redis 缓存穿透和雪崩
摘要:redis缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。但同时,它也带来了一些问题。其中,最要害的问题,就是数据的一致性问题,从严格意义上讲,这个问题时无解。如果对数据的一致性要求很高,那么就不能使用缓存。 另外的一些典型问题就是,缓存穿透,缓存雪崩和缓存击穿。 缓存穿透(查不到 阅读全文
posted @ 2020-11-22 19:27 会飞的金鱼 阅读(76) 评论(0) 推荐(0)
redis 主从复制
摘要:主从复制,是指将一台redis服务器的数据,复制到其他的redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能从主节点到从节点。Master以写为主,Slave以读为主。 默认情况下,每台redis服务器都是主节点。且 阅读全文
posted @ 2020-11-21 22:38 会飞的金鱼 阅读(127) 评论(0) 推荐(0)
redis 发布订阅
摘要:redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 redis客户端可以订阅任意数量的频道。 发布订阅消息图 消息发送者 频道 消息订阅者 频道与订阅这个频道的客户端之间的关系: 当有新消息通过publish命令发送给频道channel1时 阅读全文
posted @ 2020-11-21 21:52 会飞的金鱼 阅读(95) 评论(0) 推荐(0)
redis 持久化
摘要:redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以redis提供了持久化功能。 RDB(Redis DataBase) 在指定的时间间隔内将内存中的数据集快照写入磁盘,它恢复时是将快照文件直接读到内存里。 redis会单独创建(f 阅读全文
posted @ 2020-11-21 21:14 会飞的金鱼 阅读(103) 评论(0) 推荐(0)
redis Redis.conf详解
摘要:redis启动的时候,就通过配置文件来启动。 1,单位,配置文件unit单位对大小写不敏感 2,包含 3,网络 bind 127.0.0.1 #绑定ip protected-mode yes #启用保护模式 port 6379 #端口设置 4,通用 General daemonize yes #以守 阅读全文
posted @ 2020-11-21 19:58 会飞的金鱼 阅读(111) 评论(0) 推荐(0)
redis SpringBoot整合
摘要:说明:在SpringBoot2.x之后,原来使用的jedis被替换为lettuce。 jedis:采用直连,多个线程操作,不安全。如果想要避免不安全,使用jedis pool连接池。更像BIO模式。 lettuce:采用netty,实例可以在多个线程中进行共享,不存在线程不安全的情况,可以减少线程数 阅读全文
posted @ 2020-11-21 19:28 会飞的金鱼 阅读(109) 评论(0) 推荐(0)
redis 使用jedis连接
摘要:Jedis是Redis官方推荐的java连接开发工具。 1,添加依赖 <dependencies> <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients< 阅读全文
posted @ 2020-11-20 21:12 会飞的金鱼 阅读(221) 评论(0) 推荐(0)
redis 事务
摘要:redis 事务的本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行的过程中,会被安装顺序执行。 一次性、顺序性、排他性,执行一系列的命令。 redis事务没有隔离级别的概念。 所有的命令在事务中,并没有直接被执行,只有发起执行命令(exec)的时候才会被执行。 redis单条命令式 阅读全文
posted @ 2020-11-20 20:02 会飞的金鱼 阅读(61) 评论(0) 推荐(0)
redis 三种特殊类型--Bitmap
摘要:位存储:统计用户信息。活跃/不活跃。登录/未登录。打卡/未打卡。两个状态的,都可以使用bitmap。 bitmap 位图,数据结构,都是操作二进制位来进行记录,就只有0和1两个状态。 使用bitmap来记录周一到周日的打卡 127.0.0.1:6379> setbit sign 0 1 #设置打卡情 阅读全文
posted @ 2020-11-20 16:54 会飞的金鱼 阅读(153) 评论(0) 推荐(0)
redis 三种特殊类型--Hyperloglog
摘要:基数:集合中不重复元素的个数。 redis Hyperloglog 基数统计的算法。 优点:占用的内存是固定,2^64不同的元素的技术,只需要12kb内存,如果从内存角度来比较,hyperloglog是首选。 127.0.0.1:6379> pfadd mykey a b c d e a b #创建 阅读全文
posted @ 2020-11-20 16:45 会飞的金鱼 阅读(102) 评论(0) 推荐(0)
redis 三种特殊类型--Geospatial
摘要:redis的Geo在redis3.2版本就推出了,这个功能可以推算地理位置的信息,两地之间的距离,方圆几里的人。 只有六个命令: GEOADD:添加地理位置 GEODIST:获取两人之间的距离 GEOHASH:返回一个或多个位置元素的geohash表示 GEOPOS:获取当前位置 GEORADIUS 阅读全文
posted @ 2020-11-20 15:49 会飞的金鱼 阅读(404) 评论(0) 推荐(0)
redis 五大数据类型--有序集合
摘要:Zset(有序集合) 在set的基础上,增加了一个值。zset k1 score v1 127.0.0.1:6379> Zadd myset 1 one #添加一个值 (integer) 1 127.0.0.1:6379> zadd myset 2 two 3 three #添加多个值 (integ 阅读全文
posted @ 2020-11-19 21:17 会飞的金鱼 阅读(169) 评论(0) 推荐(0)
redis 五大数据类型--哈希
摘要:Hash(哈希) map集合,key-map。这个时候值是一个map集合。本质和String类型没有太大区别,还是一个简单的key-value。 127.0.0.1:6379> hset myhash k1 v1 # 设置一个具体的key-value (integer) 1 127.0.0.1:63 阅读全文
posted @ 2020-11-19 20:45 会飞的金鱼 阅读(71) 评论(0) 推荐(0)
redis 五大数据类型--集合
摘要:set(集合) set中的值是不能重复的。 127.0.0.1:6379> sadd myset one #向set集合中添加值 (integer) 1 127.0.0.1:6379> sadd myset two thre four (integer) 3 127.0.0.1:6379> smem 阅读全文
posted @ 2020-11-19 20:22 会飞的金鱼 阅读(135) 评论(0) 推荐(0)
redis 五大数据类型--列表
摘要:List(列表) 127.0.0.1:6379> lpush list one #从左边插入,先进的在最后 (integer) 1 127.0.0.1:6379> lpush list two three (integer) 3 127.0.0.1:6379> lrange list 0 -1 #获 阅读全文
posted @ 2020-11-19 19:55 会飞的金鱼 阅读(92) 评论(0) 推荐(0)
redis 五大数据类型--字符串
摘要:Redis 是一个开源的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件MQ。它支持多种类型的数据结构,如字符串(Strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)与范围查询,bitmaps、hyperloglogs和地理空 阅读全文
posted @ 2020-11-19 18:32 会飞的金鱼 阅读(112) 评论(0) 推荐(0)
Redis 入门
摘要:Redis(Remote Dictionary Server),即远程字典服务。是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型,key-value数据库,提供多种API。 redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了ma 阅读全文
posted @ 2020-11-19 16:10 会飞的金鱼 阅读(58) 评论(0) 推荐(0)