随笔分类 -  redis数据库

摘要:缓存击穿问题及解决思路及封装工具类 缓存击穿 缓存击穿问题也叫热点Key问题,就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了,无数的请求访问会在瞬间给数据库带来巨大的冲击。 解决方案 常见的解决方案有两种: 互斥锁 逻辑过期 逻辑分析:假设线程1在查询缓存之后,本来应该去查询数据库,然 阅读全文
posted @ 2023-09-25 16:04 转身刹那的潇洒 编辑
摘要:缓存雪崩问题及解决思路 缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 解决方案 给不同的Key的TTL添加随机值 利用Redis集群提高服务的可用性 给缓存业务添加降级限流策略 给业务添加多级缓存 阅读全文
posted @ 2023-09-25 15:16 转身刹那的潇洒 编辑
摘要:缓存击穿问题及解决思路 缓存穿透 缓存穿透 :缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。 缓存穿透产生的原因是什么? 用户请求的数据在缓存中和数据库中都不存在,不断发起这样的请求,给数据库带来巨大压力 解决方案 缓存穿透的解决方案有哪些? 阅读全文
posted @ 2023-09-25 15:13 转身刹那的潇洒 编辑
摘要:数据库缓存不一致解决方案 数据库缓存不一致产生原因 由于我们的缓存的数据源来自于数据库,而数据库的数据是会发生变化的,因此,如果当数据库中数据发生变化,而缓存却没有同步,此时就会有一致性问题存在,其后果是: 用户使用缓存中的过时数据,就会产生类似多线程数据安全问题,从而影响业务,产品口碑等;怎么解决 阅读全文
posted @ 2023-09-25 15:04 转身刹那的潇洒 编辑
摘要:基于Redis实现短信登录 基于Redis实现登录流程 发送验证码: 用户在提交手机号后,会校验手机号是否合法,如果不合法,则要求用户重新输入手机号 如果手机号合法,后台此时生成对应的验证码,同时将验证码进行保存到Redis中,然后再通过短信的方式将验证码发送给用户 短信验证码登录、注册: 用户将验 阅读全文
posted @ 2023-09-25 14:37 转身刹那的潇洒 编辑
摘要:redis6.0新特性 ACL Redis ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接。 在Redis 5版本之前,Redis 安全规则只有密码控制 还有通过rename 来调整高危命令比如 flushdb , KE 阅读全文
posted @ 2021-07-27 00:33 转身刹那的潇洒 阅读(183) 评论(0) 推荐(0) 编辑
摘要:分布式锁 分布式锁简介 随着业务发展的需要,原单体单机部署的系统被演化成分布式集群系统后,由于分布式系统多线程、多进程并且分布在不同机器上,这将使原单机部署情况下的并发控制锁策略失效,单纯的Java API并不能提供分布式锁的能力。为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这 阅读全文
posted @ 2021-07-27 00:25 转身刹那的潇洒 阅读(245) 评论(0) 推荐(0) 编辑
摘要:redis缓存的穿透、击穿和雪崩 缓存穿透 缓存穿透简介: key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。 1、应用服务器压力变 阅读全文
posted @ 2021-07-26 23:45 转身刹那的潇洒 阅读(309) 评论(0) 推荐(0) 编辑
摘要:redis集群 redis集群简介 容量不够,redis如何进行扩容? 并发写操作, redis如何分摊? 另外,主从模式,薪火相传模式,主机宕机,导致ip地址发生变化,应用程序中配置需要修改对应的主机地址、端口等信息。 之前通过代理主机来解决,但是redis3.0中提供了解决方案。就是无中心化集群 阅读全文
posted @ 2021-07-26 23:16 转身刹那的潇洒 阅读(263) 评论(0) 推荐(0) 编辑
摘要:主从复制 主从复制简介 主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 作用 读写分离,性能扩展 容灾快速恢复 一主多从搭建 1、创建一个文件夹用来存放redis.conf配置文件 2、复制redis.conf到文件夹中 3、 阅读全文
posted @ 2021-07-26 11:24 转身刹那的潇洒 阅读(138) 评论(0) 推荐(0) 编辑
摘要:Redis持久化AOF AOF简介 以日志的形式来记录每个写操作(增量保存),将Redis执行过的所有写指令记录下来(读操作不记录), 只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis 重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工 阅读全文
posted @ 2021-07-26 01:00 转身刹那的潇洒 阅读(278) 评论(0) 推荐(0) 编辑
摘要:Redis持久化RDB Redis持久化 Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中 的数据库状态也会消失。所以 Redis 提供了持久化功能! Redis 提供了2个不同形式的持久化方式。 RDB(Redis DataBase) AOF(App 阅读全文
posted @ 2021-07-25 21:26 转身刹那的潇洒 阅读(138) 评论(0) 推荐(0) 编辑
摘要:redis事务和锁机制 Redis的事务定义 Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 Redis事务的主要作用就是串联多个命令防止别的命令插队。 Redis事务三个特性 1.单独的隔离操作 事务中的所 阅读全文
posted @ 2021-07-25 19:40 转身刹那的潇洒 阅读(197) 评论(0) 推荐(0) 编辑
摘要:jedis操作和整合springboot Jedis项目搭建 Jedis是Redis官方推荐的Java连接开发工具。要在Java开发中使用好Redis中间件,必须对Jedis熟悉才能 写成漂亮的代码 1、导入相关依赖 <dependencies> <!--导入jedis包--> <dependenc 阅读全文
posted @ 2021-07-25 01:20 转身刹那的潇洒 阅读(613) 评论(0) 推荐(0) 编辑
摘要:三种新数据类型 Bitmaps数据类型 现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 011000 阅读全文
posted @ 2021-07-24 20:50 转身刹那的潇洒 阅读(238) 评论(0) 推荐(0) 编辑
摘要:订阅与发布 订阅与发布 Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息。 Redis 客户端可以订阅任意数量的频道。 Redis的发布和订阅 1、客户端可以订阅频道如下图 2、当给这个频道发布消息后,消息就会发送给订阅的客户端 阅读全文
posted @ 2021-07-24 15:22 转身刹那的潇洒 阅读(206) 评论(0) 推荐(0) 编辑
摘要:配置文件 Units单位 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit 大小写不敏感 INCLUDES包含 类似jsp中的include,多实例的情况可以把公用的配置文件提取出来 网络相关配置 bind 默认情况bind=127.0.0.1只能接受本机的访问请求 不写的 阅读全文
posted @ 2021-07-24 14:31 转身刹那的潇洒 阅读(253) 评论(0) 推荐(0) 编辑
摘要:常用五大数据类型 redis常用五大数据类型 String (字符串类型) String是redis最基本的类型,你可以理解成Memcached一模一样的类型,一个key对应一个value。 String类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对 阅读全文
posted @ 2021-07-24 02:05 转身刹那的潇洒 阅读(322) 评论(0) 推荐(0) 编辑
摘要:redis安装 NoSQL数据库 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。 NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。 不遵循SQL标准。 不支持ACID。 远超于SQL 阅读全文
posted @ 2021-07-22 13:20 转身刹那的潇洒 阅读(430) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示