[root@localhost ~]# /etc/init.d/redis_6379 stop
Stopping ...
Redis stopped
[root@localhost ~]# /etc/init.d/redis_6379 start
Starting Redis server...
[root@localhost ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
[root@localhost ~]# /etc/init.d/redis_6379 status
Redis is running (4582)
配置参数
[root@localhost ~]# vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.2.1 #监听的主机地址
port 6379 #端口
daemonize yes #启动守护进程
pidfile /var/run/redis_6379.pid #指定PID文件
loglevel notice #日志级别
logfile /var/log/redis_6379.log #指定日志文件
[root@localhost ~]# /etc/init.d/redis_6379 restart
Stopping ...
Redis stopped
Starting Redis server...
二,Redis命令工具
redis-server:用于启动Redis的工具
redis-benchmark:用于检测Redis的工具
redis-check-aof:修复AOF持久化文件
redis-check-rdb:修复RDB持久化文件
redis-cli:Redis命令行工具
redis-setinel:redis-server文件的软链接
1.redis-cli命令行工具
[root@localhost ~]# redis-cli //连接本机上的Redis数据库
127.0.0.1:6379> ping //检测Redis服务是否启动
PONG
127.0.0.1:6379>
指定远程主机上的Redis数据库,命令语法为Redis-cli -h host -p port -a password。-h指定远程主机,-p指定Redis服务的端口号,-a指定密码。若要退出数据库环境,执行exit或quit命令即可返回原来的Shell环境。
[root@localhost ~]# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> exit
2.redis-benchmark测试工具
基本测试语法为 redis-benchmark [option] [option value]。
查用选项:
-h:指定服务器主机名
-p:指定服务器端口
-s:指定服务器socket
-c:指定并发连接数
-n:指定请求连接数
-d:以字节(B)的形式指定SET/GET值的数据大小
-k:1=keep alive 0=reconnect
-r:SET/GET/INCR使用随机key,SADD使用随机值
-P:通过管道传输请求
-q:强制退出redis。仅显示query/sec 值
–cav:以CSV格式输出
-l:生成循环,永久执行测试
-t:仅运行以逗号分割的测试命令列表
-i:ldie模式。仅打开N个idle连接等待
可以针对某台Redis服务器进行性能检测,执行redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000 命令即可向本机,端口为6379的Redis发送100个并发连接与100000个请求测试性能。
[root@localhost ~]# redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 1000000
====== PING_INLINE ======
1000000 requests completed in 7.08 seconds
100 parallel clients
3 bytes payload
keep alive: 1
三,Redis数据库常用命令
set:存放数据,基本的命令格式为set key value
get:获取数据,基本的命令格式为get key
[root@localhost ~]# redis-cli 127.0.0.1:6379> set teacher cjx OK 127.0.0.1:6379> get teacher "cjx"
key相关命令
127.0.0.1:6379> KEYS * 1) "mylist" 2) "counter:__rand_int__" 3) "s2" 4) "s3" 5) "key:__rand_int__" 6) "s1" 7) "teacher"
exists:使用exists命令可以判断键值是否存在。integer 0 代表此键不存在
127.0.0.1:6379> exists teacher (integer) 1 127.0.0.1:6379> exists fiush (integer) 0
del:使用del命令可以删除当前数据库的指定key。integer 0 代表此键不存在
127.0.0.1:6379> del s1 (integer) 1 127.0.0.1:6379> del s6 (integer) 0
type:使用type命令可以获取key对应的value值类型。
127.0.0.1:6379> type teacher string
rename:rename命令是对key进行重命名,格式为“ rename 源key 目标key”。使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。
127.0.0.1:6379> keys * 1) "s2" 2) "s3" 3) "s1" 127.0.0.1:6379> rename s2 s22 OK 127.0.0.1:6379> keys * 1) "s22" 2) "s3" 3) "s1" 127.0.0.1:6379> rename s1 s3 OK 127.0.0.1:6379> keys * 1) "s3" 2) "s22"
renamenx命令的作用是对已有key进行重命名,并检测新名是否存在。使用renamenx命令进行重命名时,如果目标key存在则不进行重命名。
127.0.0.1:6379> renamenx s22 s2 (integer) 1 127.0.0.1:6379> keys * 1) "s2" 2) "s3" 127.0.0.1:6379> renamenx s3 s2 (integer) 0 127.0.0.1:6379> keys * 1) "s2" 2) "s3"
dbsize命令时查看当前数据库中key的数目
127.0.0.1:6379> dbsize (integer) 2
多数据库间切换
Redis支持多数数据库,Redis在没有任何改动的情况下默认包含16个数据库,数据库名称是用数字0-15来依次命名的。使用select命令可以进行Redis的多数据之间的切换,命令格式为“ select index ”,其中index表示数据库的序号,而使用redis-cli连接redis数据库后,默认使用序号为0的数据库。
127.0.0.1:6379> select 10 OK 127.0.0.1:6379[10]> select 15 OK 127.0.0.1:6379[15]> select 0 OK 127.0.0.1:6379>
redis数据库提供了一个move命令,其可以进行多数据库的数据移动,命令的基本语法格式为“ move key dbindex ”。其中,key当前数据库的目标键,dbindex目标数据库的序号。具体操作如下。
127.0.0.1:6379> get k1 "100" 127.0.0.1:6379> move k1 1 (integer) 1 127.0.0.1:6379> select 1 OK 127.0.0.1:6379[1]> get k1 "100" 127.0.0.1:6379[1]> select 0 OK 127.0.0.1:6379> get k1 (nil)
清除数据库内数据
清空当前数据库的数据,使用flushdb命令实现。
清空所有数据库的数据,使用flushall命令实现。
四,Redis群集
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
]
[外链图片转存中…(img-iF4q7cFZ-1714137524860)]
[外链图片转存中…(img-NdelketA-1714137524861)]
[外链图片转存中…(img-Uv0CKcG4-1714137524862)]
[外链图片转存中…(img-bhggEli6-1714137524862)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新