Redis高级教程

redis连接池

和数据库连接池一样,redis也可以配置自己的连接池。

redis序列化

把任何数据保存到redis种都需要序列化操作,在Java环境中redis默认使用JdkSerializationRedisSerializer序列化器。

redis集成Java

可以自己写redis工具类,也可以与spring或者spring boot集成。

redis发布订阅

redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。redis客户端可以订阅任意数量的频道。

redis乐观锁

使用watch命令监控某个键,实现乐观锁操作。

redis事务

单个Redis命令的执行是原子性的,但Redis没有在事务上增加任何维持原子性的机制,所以Redis事务的执行并不是原子性的。事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

redis脚本

redis脚本使用Lua解释器来执行脚本。 Redis 2.6 版本通过内嵌支持Lua环境。执行脚本的常用命令为EVAL。

redis多数据库

一个redis实例可以包括多个数据库,客户端可以指定连接某个redis实例的哪个数据库,就好比一个mysql中创建多个数据库一样,客户端连接时可以指定连接哪个数据库。一个redis实例最多课提供16个数据库,下标从0到15。

redis持久化

1、RDB:把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发,默认模式。

2、AOF:以独立日志的方式记录每次写命令, 重启时再重新执行AOF文件中的命令达到恢复数据的目的。

redis主从复制

主从复制,是指将一台redis服务器的数据,复制到其他的redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower)。数据的复制是单向的,只能由主节点到从节点。默认情况下,每台Redis服务器都是主节点。且一个主节点可以有多个从节点或没有从节点,但一个从节点只能有一个主节点。

redis测试性能

性能测试是通过同时执行多个命令实现的,benchmark是官方提供的工具,基本命令如下:

redis-benchmark [option] [option value]

redis集群

redis集群中有一个16384(2^4 * 2^10)长度的槽的概念。通过哈希算法再加上取模运算可以将一个值固定地映射到某个区间,区间由连续的slot组成。使用槽,可以解耦数据与节点关系,节点自身维护槽映射关系,分布式存储。redis集群搭建至少需要奇数个主节点,每个主节点至少需要一个备份节点,所以redis集群至少需要6台机器。redis集群采用无中心结构,每个节点都相互连接,每个节点都保存数据和集群状态。

posted @ 2020-03-16 17:32  费强胜  阅读(379)  评论(0编辑  收藏