分布式缓存Redis集群配置使用
- Redis 简介
redis是一种开源的、基于内存的、可持久化的、高性能的Key-Value数据存储系统。
redis能做什么?
持久化存储 高速缓存 消息中间件
2.Redis 安装配置
-
- 高性能(内存存储、仅在需要时持久化到硬盘)
- 数据类型丰富 (string Hash List Set SortedSet)
- 支持事务处理
- 批量操作
- 支持设置Key的有效期
- 支持主从复制(Master-Slave)和故障自动迁移
- 支持大规模集群部署
- 支持Pub/Sub消息通讯机制
- 支持Lua脚本实现复制的数据库操作
3.Redis 常用命令
redis 官网下载压缩包 我本地 解压位置 D盘
cmd 进入dos 命令行 进入D盘 程序的根目录,
redis-server.exe --service-install ( redis-server.exe --service-install --prot 6379)(redis-server.exe --service-install --service-name redis001 --prot 6390 --requirepass 12345) 安装 #实例名称 redis001 端口 6390 密码 12345
redis-server.exe --service-uninstall (redis-server.exe --service-uninstall --service-name redis) 卸载
redis-cli.exe -h localhost -p 6379 -a 12345 #6379 是redis默认的端口号 -a 指密码
key * # 数据实例数据条数
Server 命令
select / dbsize /flushdb|flushall /save|bgsave config get / config set / config rewrite / shutdown
key 命令
keys / del /exists / rename / type / expire|persist|ttl / move|migrate
数据类型操作命令
String (字符串) Hash(哈希表) list (列表) set (集合) sortedset(有序集合)
4.Redis desktop Manager 桌面可视化工具 (自行安装)
登录成功后 一个数据库实例 下面有16个数据库
5.Redis PipeLine redis管道技术
redis 管道技术 提高效率 再不是用管道技术是 客户端A向数据库中插入数据 会阻塞等待 多个客户端就会出现卡死现象
使用管道技术后 可以批量操作 提高效率 避免卡死
6. Redis 事务
原子性 一致性 隔离性 持久性
7.Redis 消息通信
发布者——>频道——>订阅者 (多对多的关系 ) 发布者 发布消息到频道 订阅者 订阅某个频道 频道存储消息
cmd 命令
redis-cli.exe -h localhost -p 6380 -a 12345
subscribe cctv # cctv 频道
cmd 启动另个一redis redis-cli.exe -h localhost -p 6381 -a 12345
publis cctv hello # cctv 频道 hello 发送的消息
8.Redis 主从库与哨兵集群
一个主数据库 多个从数据库 (备份容错 一主多从 自动同步)
redis 主从库的配置:以下两个方法选择其中一个就可以了 这两种方法都是设置从数据库 不需要对主数据库做设置 (配置文件 必须是ip )
1.配置文件 redis.windows.conf文件:
slaveof <masterip> <masterport> # 主库的ip和端口号
masterauth <master-password> # 主库的密码
slave-read-only yes # 从库只读(默认)
2. slaveof 命令
slaveof host port #将当期库设置为host /port 对应实例的从库
slaveof no one #取消当期库的从库身份 (已同步的数据保留)
修改配置文件实现主从同步: cmd 命令使用配置文件安装 redis-server.exe --service-install redis.windows.conf --service-name redisxxx --port 6390
提示 redis 安装成功。
cmd 命令行 info replication 查看配置信息
命令方式配置主从数据库:安装好新的redis数据库实例 通过命令行安装 redis-cli.exe --service-install redis.windows.conf --service-name reids003 --prot 6890
命令行进入redis 客户端 redis-cli.exe -h localhost -p 6890
info replication 命令 可以看到 role:master ,然后 slaveof 127.0.0.1 6890
再次使用 info replication 命令 看到 role :slave