![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
朋克归零膏
这个作者很懒,什么都没留下…
展开
-
Redis的缓存问题及解决方案
狂神视频:https://www.bilibili.com/video/BV1S54y1R7SB?p=36缓存穿透查不到缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,要是有人利用不存在的key频繁攻击我们的应用,服务就有可能会挂掉。解决方法1、业务层校验对用户发送的请求进行校验,对明显错误的参数 进行拦截。如某个key只能是正数,请求是负数原创 2020-11-23 13:20:46 · 339 阅读 · 0 评论 -
Redis主从复制到哨兵模式
主从概念Redis主从复制是指将一台Redis服务器的数据复制到其他的Redis服务器。前者称为主节点(Master/Leader),后者称为从节点(slave),数据的复制是单向的,只能由主节点到从节点。Master写为主,slave读为主。主从复制的作用:数据冗余故障恢复: 服务冗余,主节点出现故障的时候,可由从节点提供服务.负载均衡:在写少读多的场景下,可以提高Redis的并发量高可用的基础: 哨兵模式和集群的基础现实情况是要配置多台Redis服务器来应对生产环境,因为:结构上原创 2020-11-23 00:01:18 · 225 阅读 · 0 评论 -
Redis发布订阅系统
客户端127.0.0.1:6379> SUBSCRIBE test test2 # 订阅两个频道 test和 test2Reading messages... (press Ctrl-C to quit) # 订阅之后的客户端就不允许操作了1) "subscribe"2) "test"3) (integer) 11) "subscribe"2) "test2"3) (integer) 21) "message"2) "test"3) "hello,test"1) "messa.原创 2020-11-21 23:20:07 · 104 阅读 · 0 评论 -
Redis持久化两种方式的粗浅理解
Redis是一个内存数据库,效率比传统数据库效率要高得多,但是对极端情况(宕机断电)的防御性能就差了很多。Redis提供了两种持久化技术,一种是**RDB Snapshotting**,另一种是**AOF(append-only-file)**。RDBrdb快照技术就是将内存中的数据集保存下来。三种保存方式:自动触发每过指定时间,根据规则进行自动保存。见配置文件save该命令会阻塞当前Redis服务器,在save执行期间,Redis不能处理其他命令,直到快照完成为止。bgsav原创 2020-11-21 17:35:25 · 111 阅读 · 0 评论 -
Redis配置文件部分笔记
开头说明单位不区分大小写INCLUDES可以通过设置本模块,把多个配置文件包含进来另外需要注意的时,如果将此配置写在redis.conf 文件的开头,那么后面的配置会覆盖引入文件的配置,如果想以引入文件的配置为主,那么需要将 include 配置写在 redis.conf 文件的末尾。MODULES通过这里的 loadmodule 配置将引入自定义模块来新增一些功能。NETWORK# By default, if no "bind" configuration directive is s原创 2020-11-21 16:48:19 · 268 阅读 · 1 评论 -
Redis的事务
结论:Redis事务并不是原子性的!Redis的事务Redis的事务可以一次执行多个指令,本质是一系列的命令的集合。具有一次性、顺序性、排他性。--------------- multi (开启事务) 操作1 操作2 ... EXEC (执行事务) -----------------127.0.0.1:6379> multiOK127.0.0.1:6379> set k1 v1QUEUED127.0.0.1:6379> set k2 v2QUEUED127.0.0.1原创 2020-11-21 03:01:37 · 166 阅读 · 0 评论 -
Redis的数据类型
基础Redis默认有16个数据库默认数据库是 0默认端口号是 6379redis-cli基础命令:select [index] 选择数据库keys [pattern] 显示keys值set [key] [value] 设置kvget [key] 查看key的值del key 删除keyflushdb 清空当前数据库的值flushall 清空所有数据库的值EXPIRE key seconds 设置key的过期时间TTL key 查看key的过期时间,-1代表没有设置,-2代表已过原创 2020-11-20 14:13:06 · 320 阅读 · 0 评论 -
初识Redis
为什么要用NoSQLNoSQL(Not only SQL)泛指菲关系型数据库NoSql主要是为了解决关系型数据库的短板,我们先来看看随着软件行业的发展(三V),关系型数据库面临了哪些挑战(三高): 1、高并发 一个最典型的就是电商网站,例如双11,几亿大军的点击造成在某一时刻的并发量是很高的,传统的关系型数据库肯定已经是不堪重负了,如Oracle的Session数量推荐的才只有500。 2、高效率存储海量数据 大数据时代,数据量已经不是用GB、TB来衡量了,而是EB、ZB了,面对原创 2020-11-18 23:57:16 · 82 阅读 · 0 评论