Redis简介、常用命令及优化
一、Redis简介
- Redis 是一个开源的、使用C语言编写的NoSQL数据库
- 实际生产环境中,需要根据实际的需求来决定开启多少个Redis进程。若对高并发要求更高一些,可能会考虑在同一台服务器上开启多个进程。若 CPU 资源比较紧张,采用单进程即可
Redis优点
二、Redis安装部署
systemctl stop firewalld
setenforce 0
yum install -y gcc gcc-c++ make
tar zxvf redis-5.0.7.tar.gz -C /opt/
cd /opt/redis-5.0.7/
make
make PREFIX=/usr/local/redis install
cd /opt/redis-5.0.7/utils
./install_server.sh
……
慢慢回车
Please select the redis executable path []
手动输入
/usr/local/redis/bin/redis-server
ln -s /usr/local/redis/bin/* /usr/local/bin/
/etc/init.d/redis_6379 stop #停止
/etc/init.d/redis_6379 start #启动
/etc/init.d/redis_6379 restart #重启
/etc/init.d/redis_6379 status #状态
修改配置/etc/redis/6379.conf参数
vim /etc/redis/6379.conf
70行,添加 监听的主机地址
bind 127.0.0.1 192.168.117.10
93行,Redis默认的监听端口
port 6379
137行,启用守护进程
daemonize yes
159行,指定 PID 文件
pidfile /var/run/redis_6379.pid
167行,日志级别
loglevel notice
172行,指定日志文件
logfile /var/log/redis_6379.log
/etc/init.d/redis_6379 restart
三、Redis命令工具
redis-server #用于启动 Redis 的工具
redis-benchmark #用于检测 Redis 在本机的运行效率
redis-check-aof #修复 AOF 持久化文件
redis-check-rdb #修复 RDB 持久化文件
redis-cli #Redis命令行工具
3.1 redis-cli命令行工具
语法:
redis-cli -h host -p port -a password
选项 | 作用 |
---|---|
-h | 指定远程主机 |
-p | 指定 Redis 服务的端口号 |
-a | 指定密码(若未设置密码可省略) |
未加任何选项连接本机redis数据库
redis-cli -h 192.168.117.10 -p 6379
2. redis-benchmark测试工具
语法:
redis-benchmark [选项] [选项值]
向服务器发送100个并发连接与100000个请求测试性能
redis-benchmark -h 192.168.117.10 -p 6379 -c 100 -n 100000
测试存取大小为100字节的数据包的性能
redis-benchmark -h 192.168.117.10 -p 6379 -q -d 100
测试本机上Redis服务在进行set与lpush操作时的性能
redis-benchmark -t set,lpush -n 100000 -q
3. Redis数据库常用命令
命令 | 作用 |
---|---|
set | 存放数据,命令格式为 set key value |
get | 获取数据,命令格式为 get key |
keys | 取符合规则的键值列表,通常情况可以结合*、?等选项来使用 |
exists | 判断键值是否存在 |
del | 删除当前数据库的指定 key |
type | 获取 key 对应的 value 值类型 |
rename | 对已有key进行重命名(覆盖),命令格式:rename 源key 目标key |
renamenx | 对已有 key 进行重命名,若目标key存在则不进行重命名(不覆盖),命令格式同上 |
dbsize | 查看当前数据库中key的数目 |
config set requirepass 密码 设置密码
config get requirepass 查看密码(一旦设置密码,必须先验证通过密码,否则所有操作不可用)
例:
config set requirepass 123
auth 123
config get requirepass
4. Redis多数据库常用命令
- Redis支持多数据库,Redis默认情况下包含16个数据库,数据库名称是用数字0-15来依次命名的
- 使用redis-cli连接Redis数据库后,默认使用的是序号为0的数据库
- 多数据库相互独立,互不干扰
多数据库间切换
select 10 #切换至序号为 10 的数据库
select 15 #切换至序号为 15 的数据库
多数据库间移动数据
格式:move 键值 序号
例:
set teacher zhangsan
get teacher
select 5
get teacher
select 0
move teacher 5
get teacher
select 5
get teacher
清除数据库内数据
flushdb :清空当前数据库数据
flushall :清空所有数据库的数据,慎用!
四、Redis性能管理
查看Redis内存使用
redis-cli -h 192.168.117.10 -p 6379
info memory
配置文件中修改maxmemory-policy属性值
vim /etc/redis/6379.conf