
Redis
文章平均质量分 78
Redis学习总结
@从入门到入土
学无止境
展开
-
缓存的三种读写方式
结合业务场景,缓存的读写方式可以分为以下三种模式: Cache Aside(旁路缓存) Read/Write Through(读写穿透) Write Behind Caching(异步缓存写入) Cache Aside查询:应用程序先去cache中读取数据,如果可以命中,则直接返回;如果没有命中,则去数据库中查询,成功后存入缓存。 更新:应用程序先去更新数据库...原创 2020-02-10 17:07:28 · 3490 阅读 · 5 评论 -
Redis内存回收策略
Redis的六种内存回收策略Redis中提供了多种内存回收策略,当内存容量不足时,为了保证程序的运行,这时就不得不淘汰内存中的一些对象,释放这些对象占用的空间。noeviction:默认的策略,当内存使用达到阈值的时候,所有引起申请内存的命令会报错。 allkeys-lru:从数据集(server.db[i].dict)中淘汰最近最少使用的数据。如果我们的应用对缓存的访问都是相对热点数据,那么可以选择这个策略。 allkeys-random:随机移除某个key。如果我们的应用对于缓存key的访问原创 2021-02-13 20:19:11 · 322 阅读 · 0 评论 -
Redis持久化机制
目录Redis的持久化RDBRedis会在以下几种情况下对数据进行快照AOF(append only file)AOF的实现AOF的重写原理Redis的持久化Redis支持两种方式的持久化,一种是RDB方式、另一种是AOF(append-only-file)方式。前者会根据指定的规则“定时”将内存中的数据存储在硬盘上,而后者在每次执行命令后将命令本身记录下来。两种持久化方式可以单独使用其中一种,也可以将这两种方式结合使用。RDB当符合一定条件时,Redis会单独.原创 2021-02-13 20:14:33 · 266 阅读 · 0 评论 -
CentOS7搭建Redis Sentinel
什么是Redis Sentinel官方文档:Redis 的 Sentinel 文档搭建Redis Sentinel准备工作首先需要在CentOS环境下准备三个redis节点和三个sentinel节点:首先要在CentOS环境下安装好Redis,具体可以参考:CentOS7安装Redis然后在redis的bin文件夹下创建sentinel文件夹,具体命令如下:[root@localhost ~]# cd /usr/local/redis/bin/[root@localhost原创 2020-11-23 22:54:34 · 663 阅读 · 1 评论 -
CentOS7搭建Redis Cluster
目录什么是Redis ClusterRedis集群介绍Redis 集群的数据分片Redis 集群的主从复制模型Redis 一致性保证搭建Redis Cluster(三主三从)准备工作启动所有节点服务建立集群关系验证集群状态验证数据验证什么是Redis Cluster关于Redis集群的介绍,引用官网的一段文字说明,浅显易懂:Redis 集群教程Redis集群介绍Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis原创 2020-11-20 14:39:44 · 333 阅读 · 0 评论 -
CentOS7安装Redis
下载与解压[root@localhost local]#wget http://download.redis.io/releases/redis-5.0.3.tar.gz[root@localhost local]#tar -zxvf redis-5.0.3.tar.gz编译与安装[root@localhost local]#cd redis-5.0.3[root@localhost redis-5.0.3]# make[root@localhost redis-5.0....原创 2020-11-18 17:04:26 · 367 阅读 · 0 评论 -
分布式锁之Redis实现
分布式锁应具备的特性互斥性:互斥是锁的基本特征,同一时刻只能有一个线程持有锁,执行临界操作;超时释放:超时释放是锁的另一个必备特性,通过超时释放,防止不必要的线程等待和资源浪费;可重入性:在分布式环境下,同一个节点上的同一个线程如果获取了锁之后,再次请求还是可以成功;高性能和高可用:加锁和解锁的开销要尽可能的小,同时也需要保证高可用,防止分布式锁失效;支持阻塞和非阻塞性:对比 Java 语言中的 wait() 和 notify() 等操作,这个一般是在业务代码中实现,比如在获取锁时通过原创 2020-11-02 18:08:54 · 283 阅读 · 0 评论 -
SpringBoot使用缓存注解操作Redis
目录配置具体实现用户实体类接口接口实现类缓存注解说明@CachePut@Cacheable@CacheEvict测试结果saveUsergetUserupdateUserremoveUser配置首先在POM文件中加入Redis相关的依赖 <dependency> <grou...原创 2019-10-07 16:13:10 · 2088 阅读 · 0 评论 -
Redis应用实践
目录Redis Java客户端介绍Jedis-sentinel原理Jedis-cluster原理分布式锁的实现Jedis实现Redisson实现管道模式Redis的应用架构Redis缓存与数据一致性问题更新缓存还是让缓存失效?先操作数据库还是先操作缓存?缓存雪崩缓存穿透布隆过滤器Redis Java客户端介绍Redis Java...原创 2018-10-03 00:23:13 · 2178 阅读 · 0 评论 -
Redis高可用(主从、哨兵、集群)
目录集群主从复制全量复制增量复制无硬盘复制sentinel(哨兵)什么是哨兵sentinel之间的相互感知master的故障发现Redis-Cluster(集群)拓扑结构Redis的数据分区HashTags重定向客户端分片迁移槽迁移的过程集群先来简单了解下redis中提供的集群策略, 虽然redis有持久化功能能够保障r...原创 2018-10-02 13:15:15 · 5702 阅读 · 3 评论 -
Redis的原理分析
目录目录过期时间设置过期删除的原理发布订阅持久化RDBAOF(append only file)内存回收策略Redis中的LRU使用机制Redis是单进程单线程,性能为什么这么快?多路复用Lua脚本过期时间设置EXPIRE key seconds在Redis中提供了Expire命令设置一个键的过期时间,到期以后Redis会自动...原创 2018-09-24 22:42:00 · 1972 阅读 · 0 评论 -
Redis数据类型总览
目录String(字符串)List(有序列表)Hash(散列表)Set(无序集合)Zset(有序集合)BitMap(位图)HyperLogLogGeospatial(地理空间)Redis(remote dictionary server)是一个基于KEY-VALUE的高性能的存储系统,通过提供多种键值数据类型来适应不同场景下的缓存与存储需求,在当前Redis 5...原创 2018-09-18 23:31:01 · 1418 阅读 · 0 评论