Redis
文章平均质量分 87
张小驰出没
何其荣幸,何德何能
展开
-
Redis缓存穿透和雪崩
Redis缓存穿透和雪崩缓存穿透概念用户如果想查询一个数据,会先在redis内存数据库中进行查询,redis中没有,再向持久层数据库中查询。缓存穿透的概念很简单,用户想要查询一个数据,发现redis内存数据库没有,也就是缓存没有命中,于是向持久层数据库查询。发现也没有,于是本次查询失败。当用户很多的时候,缓存都没有命中,于是都去请求了持久层数据库。这会给持久层数据库造成很大的压力,甚至直接导致崩溃。这时候就相当于出现了缓存穿透。解决方案1.布隆过滤器布隆过滤器是一种数据结构,对所有可能查询的原创 2021-07-08 11:16:07 · 112 阅读 · 4 评论 -
Redis主从复制
Redis主从复制概念主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower);数据的复制是单向的,只能由主节点到从节点。Master以写为主,Slave以读为主默认情况下,每台Redis服务器都是主节点;’'且一个主节点可以有多个从节点(或没有从节点),但一个从节点只能有一个主节点主从复制的作用主要包括:数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。故障恢原创 2021-07-06 22:28:48 · 123 阅读 · 1 评论 -
Redis发布订阅
Redis发布订阅什么是发布订阅所谓发布订阅,就是 消息发布者发布消息 及 消息订阅者接收消息 ,二者通过某种媒介关联起来。这类似以前的『订报』,当我们订阅了某种报纸后(比如财经报),每当报纸有新的期刊出版后,就会有邮递员给我们送过来。即,只有定了这种报纸才会收到出版社发布的这种新报纸。发布订阅解析Redis发布订阅(pub/sub)是一种 消息通信模式 :发送者(pub)发送消息,订阅者(sub)接收消息。Redis客户端可以订阅任意数量的频道。订阅/发布消息图:图中可以看出,所需:原创 2021-07-01 13:16:17 · 139 阅读 · 2 评论 -
Redis持久化
Redis持久化Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失,所以Redis提供了持久化功能RDB(Redis DataBase)什么是RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存里。Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时RDB文件中,等持久化过程都结束了,再用这个临时文件替换上次已经持久化完成的文件。整个过程原创 2021-06-26 13:49:36 · 93 阅读 · 4 评论 -
SpringBoot整合Redis
SpringBoot整合Redis整合Redis在SpringBoot2.x之后,原来使用的jedis被替换为了lettuce**jedis:**采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用jedis pool连接池 , 更像BIO模式**lettuce:**采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像NO模式1.创建项目首先创建一个SpringBoot项目,注入依赖如下:2.配置redis信息spring.re原创 2021-06-22 21:49:06 · 276 阅读 · 2 评论 -
Jedis与Redis
Jedis与Redis通过Jedis操作RedisJedis是Redis官方推荐的java连接开发工具 , 使用ava操作Redis中间件创建项目首先创建一个空项目:创建一个Maven的Module项目:一路next即可。因为该项目的最先创建的是空项目,所以需要手动调节部分配置:以下修改的都是JDK配置,按照自己电脑为准File----Project Structure—projectFile----Project Structure—modulesFile—原创 2021-06-13 21:47:41 · 563 阅读 · 0 评论 -
Redis事务操作
Redis事务操作Redis事务本质: 一组命令的集合 , 一个事务中的所有命令都会被序列化 , 在事务执行过程中 , 会按照顺序执行一次性 : 事务之间的事情,会一次性执行,而不是立刻执行顺序性 : 会按照顺序进行执行排他性 : 事务过程中,不允许被其他事情影响Redis事务没有隔离级别的概念Redis单条命令保存原子性 , 但事务不保证原子性redis事务 :开启事务( multi )命令入队( 写命令 )执行事务( exec )所以事务中的命令在加入时原创 2021-06-13 21:45:57 · 129 阅读 · 0 评论 -
Redis数据类型及命令
Redis数据类型及命令基本数据类型String - 字符串我提前存入了两个数据 k:v 、z:c追加字符串追加字符串,如果当前可以不存在就相当于 setAPPEND xxx value获取字符串长度STRLEN XXX自动加 1INCR XXX自动减 1DECR XXX设置步长,指定增量INCRBY XXX 数值设置步长,指定减量DECRBY XXX 数值 截取字符串GETRANGE k 0 3 #截取字符串[0,3] GETRANGE k原创 2021-06-06 14:17:58 · 151 阅读 · 0 评论 -
Redis入门命令
Redis入门命令Redis基础从配置文件中可以看出:Redis有 16 个数据库,默认使用的是第 0 个切换数据库select x # 切换数据库 0-15查看数据库容量DBSIZE 数据库之间存取的数据一般是不连通的如果你在 3 号数据库存了信息 ,不会影响其他数据库的 DBSIZE存取数据ser key value # 存入 k:vget key # 得到 对应k的v查看所有keykeys * 清空当前数据库原创 2021-06-03 11:11:14 · 238 阅读 · 0 评论 -
初识Redis
初识Redis概述**官网:**https://redis.io/**中文官网:**http://www.redis.cn/推荐使用Linux服务器学习Redis是什么?Redis(Remote Dictionary Server ),即远程字典服务是一个开源的使用ANSI ,C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘原创 2021-05-30 23:02:32 · 134 阅读 · 2 评论