redis实战进阶

 Redis单节点安装

1.下载tar包至/opt/redis

2.解压tar包

tar -xvf redis-4.0.14.tar.gz 
3. cd redis-4.0.14

make一下。

单节点的redis准备就绪。

相关配置准备:

在/usr/local下建立redis-cluster目录,并建7031-7036文件夹

redis实战进阶_第1张图片

 

 

拷贝修改配置文件

 cd /opt/redis/redis-4.0.14

vi  redis.conf

修改项如下:

(1)绑定端口,port 10001

(2)绑定IP,bind 10.200.195.65

(3)指定数据存放路径,dir /opt/redis/redis-4.0.14/dbfile

(4)后台启动,daemonize yes

(5)指定持久化方式,appendonly yes

(6)requirepass joey

启动redis

./redis-server ../redis.conf

连接redis  
./redis-cli -p 10001 -h 10.200.195.65 -a joey

字符串操作

redis实战进阶_第2张图片

集合的操作

redis实战进阶_第3张图片

 

 其他数据结构自行测试,

关于集群方式搭建,参考之前的一篇  分布式缓存Redis集群搭建

 

redis-desktop-manager连接 

redis实战进阶_第4张图片

 

 

 

 

Redis事务

对于Redis的事务其实和我们在编写JDBC的应用程序时所使用的事务是基本一致的,有一点区别是,当Redis的事务中有一条命令发生异常时,并不会对数据进行回滚;而JDBC会针对事务的回滚。也是说Redis事务并没有维持其原子性

Redis事务流程

  • 批量操作在发送 EXEC 命令前被放入队列缓存。
  • 收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。
  • 在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。

Redis事务命令

 

命令 详解
MULTI 标记一个事务块的开始。
EXEC 执行所有事务块内的命令。
DISCARD 取消事务,放弃执行事务块内的所有命令。
UNWATCH 取消 WATCH 命令对所有 key 的监视。

 事务演示

1.编译阶段错误,没法exec提交

 redis实战进阶_第5张图片

 

2.执行阶段出错, 不影响前后的命令执行

redis实战进阶_第6张图片

 

 redis实战进阶_第7张图片

 

Redis发布订阅

Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

发布

redis实战进阶_第8张图片

订阅

redis实战进阶_第9张图片

Redis发布订阅命令

 

命令 详解
PSUBSCRIBE pattern [pattern ...] 订阅一个或多个符合给定模式的频道。
PUBSUB subcommand [argument [argument ...]] 查看订阅与发布系统状态。
PUBLISH channel message 将信息发送到指定的频道。
PUNSUBSCRIBE [pattern [pattern ...]] 退订所有给定模式的频道。
SUBSCRIBE channel [channel ...] 订阅给定的一个或多个频道的信息。
UNSUBSCRIBE [channel [channel ...]] 指退订给定的频道。

 

Redis发布订阅演示

发布一个为top1的主题,消息为m1

redis实战进阶_第10张图片

 

 新开一个窗口,订阅top1主题的内容

redis实战进阶_第11张图片

再新开一个窗口,订阅top1主题的内容,模拟多个client 

redis实战进阶_第12张图片redis实战进阶_第13张图片

 

 

 多个订阅者都拿到了最新消息m6,就这么多,更多的应用后续再完善。

 

你可能感兴趣的:(redis实战进阶)