当前位置:网站首页>【Redis】redis安装与客户端redis-cli的使用(批量操作)
【Redis】redis安装与客户端redis-cli的使用(批量操作)
2022-08-08 13:06: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参考文档

边栏推荐
- 字节跳动资深架构师整理2022年秋招最新面试题汇总:208页核心体系
- 教学习编程,第一步解决自信问题,培养自己的专注力
- leetcode 155. Min Stack最小栈(中等)
- 萤石、小米对垒智能摄像头
- 难产的“第一股”:中式快餐之困
- R语言ggplot2可视化:使用ggpubr包的ggdonutchart函数可视化甜甜圈图(donut chart)、为甜甜圈图添加自定义标签(包含文本内容以及数值百分比)、lab.font参数设置标
- (8) FlinkSQL custom UDF
- Collection of shell basics
- 数据解析(XPath、BeautifulSoup、正则表达式、pyquery)
- 宏任务和微任务——三目算符与加号优先级——原生的js如何禁用button——0xff ^ 33 的结果是——in的用法——正则匹配网址
猜你喜欢
【JS高级】ES5标准规范之严格模式下的保护对象_09
字符串函数、字符函数、内存函数的使用及其模拟实现
[界面开发]DevExpress WinForms流程图控件——XtraDiagrams组件入门指南
MySQL的索引和事务
TS+Hooks二次封装antd Modal,实现可拖拽
程序员必备的VS调试技巧
【黑马早报】巴菲特罕见巨亏近3000亿;周鸿祎回应360不能卸载;三亚倡议酒店不变相提高房价;首个国产抗新冠口服药定价不超300元...
PE文件-手工修改重定位表-WinHex-CFF Explorer
[C language] Detailed explanation of custom types: structure, enumeration, union
论文理解:“Self-adaptive loss balanced Physics-informed neural networks“
随机推荐
[C language] Dynamic memory management
sample函数—R语言
2022-08-04
分享面试阿里、京东、网易等大厂后的面经及面试心得,让你秋招不再害怕
Docker - persistent database (data volume)
SQL的INSERT INTO和INSERT INTO SELECT语句
(7) FlinkSQL kafka data written to the mysql way 2
Prometheus监控Harbor(二进制版)
2022-08-05
Implement a customized pin code input control
STM32 entry development to make infrared remote control (smart home-universal remote control)
将小部分源码设计精髓带入到开发中来(工厂模式、适配器模式、抽象类、监听器)
【软考 系统架构设计师】软件架构设计⑦ 构件与中间件技术
Using Flask and Celery to push real-time/timed messages asynchronously in Win10 environment (Socket.io)/The latest strategy in 2020
HackTheBox | Previse
(4)FlinkSQL将socket数据写入到mysql方式一
Jenkins-安装(2)
qsort 函数的使用及其模拟实现
MySQL的索引和事务
直接选择排序