Redis
有机后浪
正在慢慢深入中。。。
展开
-
Redis - 高可用性:Redis Cluster实现
官网Redis是有中文官网的:Redis - cluster,但是有些东西没写清楚这里自己根据步骤完成并补充了一些知识点版本:Redis 5 ,在Centos下运行至少要Redis3.0(包括3.0)以上版本,且Redis3、4还要装Ruby,建议Redis5起步主从复制-》哨兵模式-》Redis Cluster可用性(Availability):非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)Redis模式:单机模式:只有一个redis服务器,宕机后整个系统就失效了原创 2020-08-16 11:22:10 · 280 阅读 · 0 评论 -
Redis - 高可用性:主从复制、哨兵模式及应用
高可用性可用性(Availability):非故障的节点在合理的时间内返回合理的响应(不是错误和超时的响应)99.9999%,一年仅停机31.5秒,根本感觉不到,而如果是99%,停机3.65天,如支付宝等应用会造成很大损失单机服务在简单系统使用Redis单机服务,实际情况会面临一些问题机器故障:单个Redis负责所有请求,压力较大,容错低,一旦出现故障整个系统缓存就瘫痪容量:Redis是内存服务器,受机器内存容量限制,单台redis服务器最大使用内存不应该超过20g单机Redis可用原创 2020-08-11 10:31:02 · 140 阅读 · 0 评论 -
Redis - CAP原则 => 缓存与数据库的一致性
这里的数据库是指Mysql等存放在磁盘的数据库,缓存是指Redis等在内存的数据库实时同步实时同步:缓存或DB修改,另一方同步修改强一致性要求比较高,可采用实时同步:查询时先查询缓存,查询不到再查询数据库,并保持到缓存;更新缓存时先更新数据库,再将缓存设置为过期,更新数据(建议不要更新缓存内容,而是设置缓存过期)非实时同步非实时同步:缓存或数据库修改,另一方不需要同步修改非实时同步:定时任务:设置一定时间间隔更新数据异步队列:并发程度高,可以采用异步队列,可此案有kafka等消息中.原创 2020-08-07 18:11:55 · 1824 阅读 · 0 评论 -
Redis - 持久化机制
Redis持久化数据的存放方式:如Redis存放在内存:内存读写高效但断电会丢失数据如Mysql存放在磁盘:读写速度慢,但不会丢失数据Redis是在内存中运行的,为了防止服务器宕机造成数据丢失,需要将内存中的数据存入磁盘(持久化)Redis提供了两种持久化策略:RDB(默认):一定时间存储数据AOF:默认每秒存储历史命令Redis是支持持久化的内存数据库,需要经常将内存的数据同步到磁盘RDBRDB : Redis DataBase,一定间隔时间持久化一次,功能核心是rdbSave原创 2020-08-07 09:42:37 · 125 阅读 · 0 评论 -
Redis - 事务及Springboot应用
Redis事务Redis每一个命令都是原子性的事务可以一次执行多个命令(顺序的串行执行)Redis会将一个事务中所有命令序列化,顺序执行,不会被其他命令插入,不许出现加塞现象Redis没有在事务上增加任何维持原子性的机制,所以Redis事务的执行并不是原子性的Redis事务不支持回滚命令multi标记开始一个事务块exec执行事务块的命令discard 取消事务,放弃执行事务块命令watch key[key...]监视一个或多个key,在事务执行前该key被其他命令改原创 2020-08-06 19:23:43 · 345 阅读 · 0 评论 -
Redis - 多数据库、多数据源及Springboot实现
Redis客户端一个Redis连接有16个数据库:0~15,每个数据库都是独立的切换数据库:select num从数据库3切换到6移动数据:move key num将user从数据库2移动到3清空数据库:flushdb在该数据库命令行flushdb,清空该数据库清空当前连接的所有数据库:flushall...原创 2020-08-06 11:30:45 · 822 阅读 · 0 评论 -
Redis - 发布与订阅及Springboot实现
Redis客户端的发布订阅Redis提供了发布订阅(pub/sub)的消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息发布订阅是客户端进行的,与数据库无关,一个客户端可以订阅多个频道(channel),一个频道可以被多个客户端订阅订阅:subscribe channel[channel...]订阅一个或多个频道psubscribe pattern[pattern...]订阅一个或多个符合给定模式的频道,每个模式以 * 作为匹配符,比如 it* 匹配所有名字以it开头的频道订阅原创 2020-08-05 18:20:42 · 290 阅读 · 0 评论 -
Redis - 什么是缓存穿透、击穿、雪崩?如何解决
缓存与后端系统通常后端会采用Mysql等磁盘数据库,可以持久化但是访问慢,高并发时性能差,需要设置Nosql缓存:Redis等原创 2020-08-05 11:13:39 · 791 阅读 · 5 评论 -
Redis - 8种数据类型、常用命令及应用
版本 redis 5.0.8,Redis可视化工具为Redis Desktop Manager8种数据类型Redis5中提供了8种数据类型:string:最基本的数据类型,二进制安全的字符串(也就是string可以包含任何数据:图片、序列化对象等),最大512M,我们最常用的key-value键值对就是使用string类型list:按照插入顺序的字符串列表,类似于链表LinkedListset:无序的字符串集合,不存在重复的元素。sorted set(Zset):对set的补充,是排序的字.原创 2020-07-31 19:23:59 · 280 阅读 · 0 评论 -
SpringBoot - 整合Redis:解析Lettuce与RedisTemplate封装
Lettuce与JedisRedis和Mysql一样是数据库,Mysql有对应的JDBC连接,Redis也有对应的Java客户端开发包,集成了Redis的一些命令操作,封装了Redis的java客户端,类似与redis-cli前面:SpringBoot - 整合Redis:使用Jedis客户端通过Jedis、JedisPool使SpringBoot连接RedisSpringBoot1.x的版本时默认使用的Jedis客户端,在SpringBoot2.x后,默认使用LettuceLettuce与Jedi原创 2020-07-11 17:10:59 · 4384 阅读 · 1 评论 -
SpringBoot - 整合Redis:使用Jedis客户端
JedisRedis与Mysql都是数据库,Redis是非关系型数据库,Mysql是关系型数据库对于关系型数据库存在Java的数据库连接:JDBCJedis就类似于JDBC,是Redis官方首选的Java客户端开发包,Jedis就是集成了redis的一些命令操作,封装了redis的java客户端我们可以写一个简单的Jedis命令:需要导入Jedis的jar包 <!--Jedis依赖--> <dependency>原创 2020-07-10 15:48:50 · 5650 阅读 · 0 评论 -
Redis - 关于配置文件redis.conf
版本 redis 5.0.8redis.conf在哪?我们下载的redis-5.0.8.tar.gz,解压为redis-5.0.8这3个文件:redis-5.0.8.tar.gz是压缩包,redis-5.0.8是源代码(c)目录,需要进行make编译,redis是经过编译后设置的可运行命令目录配置文件就在redis-5.0.8目录下,redis目录是没有的将它复制到这,随便放哪redis.conf配置属性这个配置文件有1372行,里面有很多属性这里介绍常用的属性:daemo.原创 2020-07-08 18:59:54 · 3934 阅读 · 0 评论