Redis是一个开放源代码(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持字符串、哈希、列表、集合、带范围查询的排序集合、位图、超日志、带半径查询和流的地理空间索引等数据结构。Redis具有内置的复制、Lua脚本、LRU收回、事务和不同级别的磁盘上持久性,并通过Redis Sentinel和Redis群集的自动分区提供高可用性。说白了redis就是一个数据存储字典当我们需要用到某些字段或者对象就去redis这个字典中去寻找。
为什么要使用redis?
当有这样一个需求,我们的项目是分布式的,每个实例都需要一些字段吧,肯定有这么一种情况,有一个字段是所有实例共同维护的,那么问题来了,我们怎么实现?这个时候你就会想到redis。
redis支持存储什么类型?
string,map,list set,zset,具体怎么用,请看官方API:https://redis.io/commands
第一步:安装部署什么的就不用说了,笔主是参考菜鸟学院:
第二步:使用 redis-server 命令启动服务端
第三步:使用redis-cli命令启动客户端,这里我们启动三个客户端(192.168.160.128[0],192.168.160.128[1],192.168.160.128[2])
我们使用client list 命令来查看我们的客户端启动的情况
从上图我们可以清楚的看到我们启动了三个客户端,端口分别为:51598,51600,51602
我们使用netstat -an来查看本地网络的连接情况:
从上图我们可以清楚的看到redis服务端127.0.0.1:6379分别与客户端127.0.0.1:51598,127.0.0.1:51600,127.0.0.1:51602建立了链接
第四步:我们使用SUBSCRIBER命令订阅一个频道,这里客户端192.168.160.128[0],192.168.160.128[1]都订阅了频道名称为“redisChatTest1”的频道。
第五步:我们使用客户端192.168.160.128[2]发布频道信息,可以看到客户端192.168.160.128[0],192.168.160.128[1]成功接收到它发来的频道信息。