本博客是在学习《Redis从入门到高可用,分布式实践》教程时的笔记。
同时参考:
https://www.cnblogs.com/jiang910/p/10020048.html
一、Redis 初识
1. 下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
5.0.7 是当前 Redis 官网最新的稳定版本,大小不到2M。
2. 解压
tar xzf redis-5.0.7.tar.gz
3. 安装依赖 gcc
yum -y install gcc automake autoconf libtool make
4. 编译
# 进入到目录
cd redis-5.0.7
# 执行命令 make
# 安装
make install
5. 可执行文件说明
只执行 make,未执行 make install 命令时,以下可执行文件只能在 redis/src/ 目录下执行。
①. redis-server :Redis 服务器
②. redis-cli :Redis 命令行客户端
③. redis-benchmark :Redis 性能测试
④. redis-check-aof :AOF 文件修复工具
⑤. redis-check-rdb :RDB 文件修复工具
⑥. redis-sentinel :Sentinel 服务器
6. 启动方式
①. 最简单的
redis-server
②. 动态参数
redis-server --port 6379
③. 配置文件
redis-server redis.conf
④. 测试
# 查看进程 ps -ef | grep redis # 查看端口 netstat -antpl | grep redis # 命令行访问 redis-cli -h 127.0.0.1 -p 6379 # 执行命令,正常会返回 PONG ping
7. 配置文件中更改
daemonize no # 是否守护进程启动。改为 yes bind 127.0.0.1 # 只允许该 ip 访问。注释掉 protected-mode yes # 保护模式。如果使用bind和密码可以开启,否则关闭改为 no logfile "" # 日志文件。可以设置为 /dir/6379.log dir ./ # rdb文件 aof文件 存放目录,可以设置为 /dir/
8. 纯净版配置文件
# 查看 cat redis.conf | grep -v "#" | grep -v "^$" # 输出 > redis-pure.conf
9. 配置文件详解
参考博客:
https://www.cnblogs.com/yiwangzhibujian/p/7067575.html
二、API 的使用和理解
1. 通用命令
mset / mget # 批量设置 / 批量查询 keys * # 遍历所有匹配的 key dbsize # 计算 key 的总数 exists key # 检查 key 存在 expire key 10 # 设置 key 的过期时间 10 秒 ttl key # 查看剩余过期时间 persist key # 去掉过期时间 type key # 查看类型
2. 字符串类型
incr key # 自增 decr key # 自减 set name libra # 设置 get name # 查询
3. 哈希类型
hset user:1:info age 23 # 设置 hset user:1:info name libra # 继续设置 hgetall user:1:info # 查询 hdel user:1:info age # 删除1个
4. 列表类型
有序 可以重复
rpush mylist a b c # 按序插入3条 lrange mylist 0 -1 # 遍历列表从 0 开始到最后一个 rpop mylist # 从右边取出1个
5. 集合类型
无序、无重复 支持集合之间操作
sadd user:1:follow it new his sports # 将 n 个元素加入到集合 smembers user:1:follow # 遍历集合 spop user:1:follow # 移除集合中一个随机的元素 scard user:1:follow # 集合数量 sismember user:1:follow entertainment # 判断元素是否在集合中,是 1 否 0
6. 有序集合类型
zadd myset 1000 ronaldo 900 messi 800 c-ronaldo 600 kaka # 将多个元素及下标加入集合 zscore myset kaka # 查看指定元素的下标 zcard myset # 集合长度 zrank myset ronaldo # 查看指定元素的排名 zrem myset messi # 删除元素 zrange myset 0 -1 withscores # 遍历集合
三、SpringBoot 与 Redis 整合
参考博客:
https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html