这里会记录下Redis 常用的小技巧
全局使用 redis-cli
等命令
在之前我们都在做 Redis 命令目录下通过 ./redis-cli
这种形式访问,如果使用 redis-cli
的话就会报命令不识别错误:
-bash: redis-cli: command not found
设置方法:
1) 编辑 /etc/profile
文件
[root@VM_0_15_centos redis4]# vim /etc/profile
- 将 Redis 安装目录添加到
PAHT
路径
export PATH=$JAVA_HOME/bin:/usr/local/ruby/bin:$PATH:/usr/local/redis/redis4
- 刷新配置
[root@VM_0_15_centos redis4]# source /etc/profile
- 在任一目录执行
redis-cli
命令
# 返回根目录
[root@VM_0_15_centos redis4]# cd /
# 启动服务
[root@VM_0_15_centos /]# redis-server /usr/local/redis/redis4/config/redis-7000.conf
# 客户端连接
[root@VM_0_15_centos /]# redis-cli -p 7000
远程连接
Redis 默认只允许本地连接,如果需要启动远程连接的话,需要编辑 redic.conf
修改如下两个配置:
- 注释绑定本机访问
# bind 127.0.0.1 #
- 在 redis3.2 之后还需要配置 protected-mode
protected-mode no
禁止使用命令
在生产环境中会禁用一些危险命令,如:
- flushdb:清空数据库
- flushall:清空所有记录,数据库
- config:客户端连接后可配置服务器
- keys:客户端连接后可查看所有存在的键
禁用方式
在 redis.conf
配置文件中找到 SECURITY
选项,新增如下命令:
rename-command FLUSHALL ""
rename-command FLUSHDB ""
rename-command CONFIG ""
rename-command KEYS ""
如果想要保留命令,但是不能轻易使用,可以重命名命令来设定:
rename-command FLUSHALL adsfdsafsfsdfdsf1
rename-command FLUSHDB adsfdsafsfsdfdsf2
rename-command CONFIG adsfdsafsfsdfdsf3
rename-command KEYS adsfdsafsfsdfdsf4
这样重启服务器后,则需要用新命令来执行操作,否则服务器会报错 unknown command
。对于 FLUSHALL
命令,需要设置配置文件中 appendonly no
,否则服务器无法启动