【Redis】
文章平均质量分 81
记录Redis的学习总结和工作中遇到的问题
玉成226
这个作者很懒,什么都没留下…
展开
-
Redis: 在项目中的应用
在分布式系统中,单纯的Java API并不能提供分布式锁的能力,为了解决这个问题就需要一种跨JVM的互斥机制来控制共享资源的访问,这就是分布式锁要解决的问题。Redission是一个在Redis的基础上实现的Java驻内存数据网格(in-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务,其中就包含了各种分布式锁的实现。可重入锁(ReentrantLock)公平锁(Fair Lock)联锁(MultiLock)红锁(RedLock)原创 2024-04-19 23:15:56 · 939 阅读 · 4 评论 -
Redis: java客户端
提供了对不同Redis客户端的整合(Lettuce和Jedis)。提供了RedisTemplate统一API来操作Redis。支持Redis的发布订阅模型。支持Redis哨兵和Redis集群。支持基于Lettuce的响应式编程。支持基于JDK、JSON、字符串、Spring对象的数据序列化及反序列化。支持基于Redis的JDKCollection实现。SpringDataRedis中提供了RedisTemplate工具类,其中封装了各种对Redis的操作。原创 2024-04-16 13:45:40 · 1030 阅读 · 0 评论 -
Redis: 集群
单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离(主要应用于读多写少的情况)。全量同步:master将完整内存数据生成RDB,发送RDB到slave。后续命令则记录在repl_baklog,逐个发送给slave。增量同步:slave提交自己的offset到master,master获取repl_blaklog中从offset之后的命令给slave。Redis提供了哨兵(Sentienl)机制来实现主从集群的自动故障恢复。原创 2024-04-15 13:20:45 · 692 阅读 · 0 评论 -
Redis: 事务操作
Redis事务是一组命令的集合,这些命令会作为一个单独的执行单位进行执行。在执行事务期间,其他客户端发送的命令不能被插入到事务执行的命令序列中。事务的主要作用是串联多个命令,防止其他命令插队,确保命令按照预定的顺序执行。原创 2024-04-14 22:01:05 · 282 阅读 · 0 评论 -
Redis:发布和订阅
Redis的发布和订阅功能是一种消息通信模式,发送者(pub)发送消息,订阅者(sub)接收消息。这种功能使得消息发送者和接收者不需要直接建立连接,而是通过Redis服务器进行中转。Redis客户端可以订阅任意数量的频道当给这个频道发布消息后,消息就会发送给订阅的客户端。原创 2024-04-13 22:56:44 · 860 阅读 · 0 评论 -
Redis: 内存回收
顾名思义并不是在TTL到期后就立即删除,而是在访问一个key的时候,检查该key的存活时间,如果已经过期才执行删除,并且删除的目标仅限于当前处理的键。每隔一段时间执行一次删除过期键操作,并通过限制执行时长和频率来减少对CPU时间的影响。使用惰性删除+定期删除策略,使得CPU时间和内存使用可以取得平衡。创建一个定时器(timer),当将过期时立即对该键进行删除操作。原创 2024-04-08 22:41:40 · 472 阅读 · 0 评论 -
Redis: 持久化
因为是记录命令,AOF文件会比RDB文件大的多。通过执行bgrewriteaof命令,可以让AOF文件执行重写功能,用最少的命令达到相同效果。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。可以立即执行一次RDB:save命令会导致主进程执行RDB,这个过程中其它所有命令都会被阻塞。可以异步执行RDB:这个命令执行后会开启独立进程完成RDB,主进程可以持续处理用户请求,不受影响。RDB和AOF各有自己的优缺点,如果对数据安全性要求较高,在实际开发中往往会结合两者来使用。原创 2024-04-07 20:30:58 · 1050 阅读 · 0 评论 -
Redis: 配置文件详解(Redis.conf)
【代码】Redis: 配置文件详解(Redis.conf)原创 2024-04-07 13:49:52 · 1262 阅读 · 0 评论 -
Redis: Redis介绍
键值型,value可以执行多种不同的数据结构string、list、set、hash和zset等功能丰富。单线程操作,每个命令都具有原子性所谓的原子操作值的是不会被线程调度机制打断的操作,这种操作会一直运行到结束,中间不会进行线程切换。对于原子操作的理解可以分为如下两种:在单线程中,能够在单条指令中完成的操作就是原子操作。中断只发生于指令之间。在多线程中,不会被其他线程打断的操作就是原子操作。高性能,低延迟、速度快(基于内存、IO多路复用)高可用,具有主从、集群和哨兵模式。原创 2024-01-18 22:17:23 · 1347 阅读 · 0 评论 -
Redis: NoSQL数据库介绍
SQL具有如下的特点:原创 2024-01-18 22:14:47 · 315 阅读 · 0 评论