楔子:某个时间,由于不清不楚的某些原因,导致了一次严重的线上事故。后来,开发不清不楚的配合把项目升级到了 Redis 高可用集群的哨兵模式(Redis-Sentinel),再后来,我们逐渐的又不清不楚的淡忘了这件事。节点化的工作很容易导致一定程度上只知其然而不知其所以然,这是项目开发中的一个众相。回想起来,我还是想记点什么。
Windows 下的 Redis 安装
1.1. 下载
Redis 官网:https://redis.io/download
GitHub 地址:https://github.com/microsoftarchive/redis/releases
根据自己本地 Windows 环境和自己需要的版本进行下载。这里我在 GitHub 上下载 Redis-x64-3.0.504.zip 版本。
1.2. 解压
对刚刚已经下载好Redis压缩包进行解压,然后进入到解压后的 Redis 目录,内容如下:
1.3. 运行服务端
打开一个 cmd 窗口,使用 cd 命令切换目录到刚刚解压好的 Redis 目录,然后运行:
redis-server.exe redis.windows.conf
如果想方便快捷的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了;或者做个 bat 文件也可以。
命令后面的参数 redis.windows.conf 可以省略。如果省略,会启用默认的。
运行命令之后,显示如下界面就说明安装成功了:
1.4. 运行客户端
重新打开一个 cmd 窗口,刚刚开启的 Redis 服务端不要关闭,不然就无法访问服务端了。切换到 Redis 目录下运行:
redis-cli.exe -h 127.0.0.1 -p 6379
好了,到此,Windows 下的 Redis 安装已经完成。我们需要验证一下。
1.5. 数据读写验证
1.5.1 设置键值对
set key_name value
1.5.2 读取键值对
get key_name
一顿操作猛如虎:
到此,本地 Redis 读写验证完成。非常成功。
1.5.3 其它指令操作
127.0.0.1:6379>
127.0.0.1:6379> set uid_001_name wukong
OK
127.0.0.1:6379> set uid_002_name bajie
OK
127.0.0.1:6379> get uid_001_name
"wukong"
127.0.0.1:6379> get uid_002_name
"bajie"
127.0.0.1:6379> set uid_003_name shaceng
OK
127.0.0.1:6379> exists uid_001_name
(integer) 1
127.0.0.1:6379> keys uid_*
1) "uid_99999"
2) "uid_001_name"
3) "uid_002_name"
4) "uid_003_name"
127.0.0.1:6379> expire uid_99999 10
(integer) 1
127.0.0.1:6379> get uid_99999
"testUser"
127.0.0.1:6379> get uid_99999
(nil)
127.0.0.1:6379> del uid_003_name
(integer) 1
127.0.0.1:6379> rename uid_002_name uid_222_name
OK
127.0.0.1:6379> keys uid_*
1) "uid_001_name"
2) "uid_222_name"
127.0.0.1:6379>
指令 | 含义/作用 | 返回值 |
---|---|---|
set key value | 写入key-value | 成功返回ok |
get key value | 读取key-value | 成功返回key对应的value值 |
exists key | 检测key是否存在 | 存在返回1,不存在返回0 |
keys pattern | 查找出所有符合给定模式(pattern)的key | |
expire key 10 | 给key设定过期的时间为10秒 | 设定成功返回1, 过期后取出key对应的value为nil |
del key1 key2…key3 | 该命令用于在key存在时删除一个key或多个key | 不存在key返回的是0,若存在返回的是你删除成功的数量 |
rename key newkey | 修改key的名称为newkey | 成功返回ok |
Linux 下的 Redis 安装
后面再写噢...
Redis 进击物语:
Redis进击(一)从0到1,Redis的安装与使用
Redis进击(二)搭建Redis主从复制服务集群(一主两从、反客为主)【Windows环境】
Redis进击(三)搭建Redis高可用集群的哨兵模式(Redis-Sentinel)【Windows环境】
Redis进击(四)Java中配置和使用Redis高可用集群的哨兵模式(Redis-Sentinel)【Spring&SpringBoot环境】
Redis进击(五)redis.conf配置文件说明备注手册
Redis异常:Creating Server TCP listening socket *:26379: bind : No such file or directory
Redis异常:JedisException: Can connect to sentinel, but 127.0.0.1:6379 seems to be not monitored...
Redis异常:JedisConnectionException: All sentinels down, cannot determine where is mymaster master is