版本比较
标识
- 该行被添加。
- 该行被删除。
- 格式已经改变。
Redis 单机安装配置
1、下载
代码块 | ||
---|---|---|
| ||
wget http://download.redis.io/releases/redis-6.0.3.tar.gz |
2、解压
代码块 | ||
---|---|---|
| ||
#tar -zxf redis-6.0.3.tar.gz |
3、编译安装
代码块 | ||
---|---|---|
| ||
#cd redis-6.0.3
#make
#make install |
4、启动
编辑redis.conf
protected-mode no # 关闭保护模式
daemonize yes # 守护进程模式开启
# redis-server /usr/local/redis-6.0.3/redis.conf
5、异常处理
make [1]: *** [server.o] Error 1 |
原因是因为gcc版本过低,yum安装的gcc是4.8.5的。因此需要升级gcc,升级过程如下:
解决办法:
代码块 | ||
---|---|---|
| ||
#yum -y install centos-release-scl
#yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
#scl enable devtoolset-9 bash
#echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
#gcc -v |
make 和make install以后即可。注意安装完成以后redis-server在/usr/local/bin/目录下。
查看所有 key 的 value 值所占内存大小
redis 虽好,却是个吃内存兽,因此在写入 redis 数据时,应该避免写入无用的数据,浪费内存。
如果我们要分析哪些 key 占用了大量的存储空间,就需要有工具辅助对所有的 value 所点空间进行排序,如此才能有的放矢进行优化。redis-rdb-tools 可以将所有 key 对应的 value 大小用 csv 格式导出。安装如下:
代码块 | ||
---|---|---|
| ||
$wget https://bootstrap.pypa.io/get-pip.py $python get-pip.py $ yum install python-devel -y $ pip install rdbtools python-lzf $ git clone https://github.com/sripathikrishnan/redis-rdb-tools $ cd redis-rdb-tools $ sudo python setup.py install |
接下来找到 redis 的 dump.rdb 位置
路径为:/var/lib/redis/dump.rdb
按内存值导出 csv
代码块 | ||
---|---|---|
| ||
$ rdb -c memory /var/lib/redis/dump.rdb > result.csv |
导出占用内存最大的前100个
代码块 | ||
---|---|---|
| ||
$ rdb -c memory -l 100 /var/lib/redis/dump.rdb > result.csv |
分析redis key 大小
代码块 | ||
---|---|---|
| ||
redis-cli -h IP地址 -p 端口 -a 密码 --bigkeys |
删除指定key
代码块 | ||
---|---|---|
| ||
redis-cli -h IP地址 -p 端口 -a 密码 keys "指定key(*代表模糊)" | xargs redis-cli -h IP地址 -p 端口 -a 密码 del redis-cli -h IP地址 -p 端口 -a 密码 -n 指定数据库编号 keys "指定key(*代表模糊)" | xargs redis-cli -h IP地址 -p 端口 -a 密码 -n 指定数据库编号 del redis-cli -h IP -p 端口 -a 密码 -n 0 keys "{takeout-hangfire}job*" | xargs redis-cli -h IP -p 端口 -a 密码 -n 0 del {takeout-hangfire} 命名空间 job key开头 |
检查redis集群健康情况
版本4.0之前
代码块 | ||
---|---|---|
| ||
redis-trib.rb check ip:端口 |
版本5.0之后
代码块 | ||
---|---|---|
| ||
redis-cli --cluster check ip:端口 |
手动故障转移
代码块 | ||
---|---|---|
| ||
redis-cli -h ip地址 -p 端口 CLUSTER FAILOVER |
创建集群
代码块 | ||
---|---|---|
| ||
redis-cli --cluster create 192.168.111.82:6381 192.168.111.82:6382 192.168.111.81:6379 192.168.111.81:6380 192.168.111.80:6387 192.168.111.80:6388 --cluster-replicas 1 |
目录 |
---|