当前位置:网站首页>[Redis] Redis installation and use of client redis-cli (batch operation)
[Redis] Redis installation and use of client redis-cli (batch operation)
2022-08-08 13:33:00 【InfoQ】
Part1、在Centos中安装Redis
安装步骤
mkdir /data/redis & cd /data/redis
wget https://download.redis.io/releases/redis-6.0.9.tar.gz
tar xzf redis-6.0.9.tar.gz
cd redis-6.0.9
make
make test
redis-server
redis-cli
cp src/redis-server /usr/local/bin/
cp src/redis-cli /usr/local/bin/
cp src/redis-sentinel /usr/local/bin/
cd /data/redis/
创建一个6379的文件夹
mkdir 6379
将配置模板拷贝到6379中
cp redis-6.0.9/redis.conf 6379
cd 6379
mkdir log
mkdir run
vim /data/redis/6379/redis.conf
daemonize yes ## 后台运行
pidfile /data/redis/run/redis_6379.pid
logfile /data/redis/log/redis_6379.log
dir /data/redis/6379
/usr/local/bin/redis-server /data/redis/6379/redis.conf

/usr/local/bin/redis-cli

安装可能出现的问题
make[3]: 进入目录“/data/redis/redis-6.0.9/deps/hiredis”
cc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb net.c
make[3]: cc:命令未找到
make[3]: *** [net.o] 错误 127
make[3]: 离开目录“/data/redis/redis-6.0.9/deps/hiredis”
make[2]: *** [hiredis] 错误
yum install gcc-c++
make distclean
make
server.c: 在函数‘redisSetProcTitle’中:
server.c:5052:15: 错误:‘struct redisServer’没有名为‘cluster_enabled’的成员
if (server.cluster_enabled) server_mode = " [cluster]";
^
server.c:5053:20: 错误:‘struct redisServer’没有名为‘sentinel_mode’的成员
else if (server.sentinel_mode) server_mode = " [sentinel]";
^
server.c:5057:15: 错误:‘struct redisServer’没有名为‘bindaddr_count’的成员
server.bindaddr_count ? server.bindaddr[0] : "*",
^
server.c:5057:39: 错误:‘struct redisServer’没有名为‘bindaddr’的成员
server.bindaddr_count ? server.bindaddr[0] : "*",
^
server.c:5058:15: 错误:‘struct redisServer’没有名为‘port’的成员
server.port ? server.port : server.tls_port,
^
server.c:5058:29: 错误:‘struct redisServer’没有名为‘port’的成员
server.port ? server.port : server.tls_port,
^
server.c:5058:43: 错误:‘struct redisServer’没有名为‘tls_port’的成员
server.port ? server.port : server.tls_port,
yum -y install centos-release-scl && yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils && scl enable devtoolset-9 bash
make distclean
make
make
It's a good idea to run 'make test'
make test
You need tcl 8.5 or newer in order to run the Redis test
yum install -y tcl
Part2、redis-cli,Redis命令行界面
客户端回复结果作为其他的输出
/usr/local/bin/redis-cli
/usr/local/bin/redis-cli incr mycounter > /tmp/output.txt
cat /tmp/output.txt

/usr/local/bin/redis-cli --no-raw incr mycounter > /tmp/output.txt

--raw
主机,端口,密码和数据库
/usr/local/bin/redis-cli -h localhost -p 6379 ping
-a <password>
/usr/local/bin/redis-cli -a myUnguessablePazzzzzword123 ping
统计
redis-cli -h IP地址 -p 端口 -a 密码 info keyspace
redis-cli keys "Abc*" | wc -l
从其他程序获取内容当做redis的输入
/usr/local/bin/redis-cli -x set incrcount < /tmp/output.txt
vim /tmp/commands.txt
set foo 100
incr foo
append foo xxx
get foo
cat /tmp/commands.txt | /usr/local/bin/redis-cli

--raw
redis-cli
> /tmp/output.txt
连续运行相同的命令
-r <count>和-i <delay>


随时间监视RSS内存大小
redis-cli -r -1 -i 1 INFO | grep rss_human

批量操作
vim /tmp/commands.txt

cat /tmp/commands.txt | /usr/local/bin/redis-cli --pipe > /tmp/batchout.tx
--pipe

如何批量删除指定的数据
/usr/local/bin/redis-cli keys '1*' |xargs /usr/local/bin/redis-cli del
连续统计模式
--stat
实时监控
-i

扫描大键
/usr/local/bin/redis-cli -x set bigkeyname < /tmp/commands.txt
redis-cli --bigkeys

SCAN命令
获取按键列表
redis-cli --scan | head -10
redis-cli --scan --pattern '*-11*'
监控Redis中的操作命令
redis-cli monito

|grep
RDB文件的远程备份
redis-cli --rdb /tmp/redisdump.rdb
执行LRU模拟
./redis-cli --lru-test 10000000
如果批量删除 带\n后缀的key

-t
-t 表示先打印命令,然后再执行.

redis-cli -a daimler1818 del lru:17288 lru:3818127
get
get
keys 'lru:*'

\n
get "lru:3717577\n"

/data/codis/codis/redis-cli -a password keys "lru*" |head -10 | xargs -I {} -t echo ' del "{}\n"' > /tmp/lrutest.txt
/data/codis/codis/redis-cli -a password keys "lru*"
head -10
xargs -I {} -t echo 'del "{}\n"'
{}
echo 'del "{}\n"'
del "lru:3717577\n"
> /tmp/lrutest.txt
cat /tmp/lrutest.txt | ./redis-cli -a password -x

cat /tmp/lrutest.txt | ./redis-cli -a password --pipe
Part3参考文档

边栏推荐
- Server Configuration - Install Redis on Linux System
- 北京 北京超大旧货二手市场开集了,上千种产品随便选,来的人还真不少
- Photoshop插件-charIDToTypeID-PIStringTerminology.h-不同值的解释及参考-脚本开发-PS插件
- 数据解析(XPath、BeautifulSoup、正则表达式、pyquery)
- SSTI漏洞介绍认识(flask、Werkzeup)
- qsort 函数的使用及其模拟实现
- textarea 禁止拖拽
- MySQl表的增删查改(CRUD)
- 自动当道,效率至上 | 快来解锁财务共享服务中心数字化秘籍
- 清华|GLM-130B:一个开放的双语预训练模型
猜你喜欢
Docker - persistent database (data volume)
你是什么时候对深度学习失去信心的?
MySQL:锁机制 |表级锁、行级锁 | 排它锁、共享锁 | 间隙锁
MySQl表的增删查改(CRUD)
[C language] Dynamic memory management
【Redis】位图以及位图的使用场景(统计在线人数和用户在线状态)
直接选择排序
【C语言】文件相关操作
MySQL的索引和事务
Knowledge points and written test questions related to shift operations, bit operations, and logical operations
随机推荐
Docker-持久化数据库(数据卷)
C语言的三个经典题目:三步翻转法、杨氏矩阵、辗转相除法
连锁小酒馆第一股,海伦司能否梦圆大排档?
“华数杯”建模学习(Matlab)
sample函数—R语言
行业领先的界面开发组件DevExpress 8月发布新版——v22.1.4
PE文件-手工修改重定位表-WinHex-CFF Explorer
Using Flask and Celery to push real-time/timed messages asynchronously in Win10 environment (Socket.io)/The latest strategy in 2020
迁移学习(Transfer Learning)的背景、历史及学习课
你是什么时候对深度学习失去信心的?
如果Controller里有私有的方法,能成功访问吗?
Background, History and Lessons of Transfer Learning
一名合格的程序员是如何优雅地解决线上问题的?
Flink1.15源码阅读——StreamGraph流图
Qt操作Sqlite类封装,及命令行导入csv文件到Sqlite数据库
八月粉丝福利来了!大疆手机云台你爱了吗?
ctfshow 七夕杯(复现)
serialize 序列化原生方法
Docker - persistent database (data volume)
Collection of shell basics