1 redis-cli连接redis服务
1.1 无密码本地登录
redis-cli redis 127.0.0.1:6379> redis 127.0.0.1:6379> PING PONG
1.2 指定ip、端口、密码
redis-cli -h [ip] -p [port] -a [pwd]
1.3 指定ip、端口、密码并清理redis缓存
redis-cli -h [ip] -p [port] -a [pwd] flushall
1.4 指定ip、端口、密码、数据库
redis-cli -h [ip] -p [port] -a [pwd] -n [db_number]
1.5 shell连接redis
#!/bin/bash
Num=`seq 1 1000`
for i in ${Num};do
redis-cli -h 127.0.0.1 set key-${i} value-${i}
done
echo "1000个key-value已经写入redis"
//脚本执行完后,可以查看
redis-cli
>>get key-100
补充:redis运维常用命令
查看redis版本信息
# 等同于/usr/local/redis/src/redis-server -v [root@iZ8vbdcrmm49bxv7sirrv3Z ~]# /usr/local/redis/src/redis-server --version Redis server v=5.0.3 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=c72a455fc0d699b
或者客户端输入:info server
127.0.0.1:6379> info server # Server redis_version:5.0.3 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:c72a4523c0d699b redis_mode:standalone os:Linux 3.10.0-957.21.3.el7.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:4.8.5 process_id:2006 run_id:0e16bcb89d8eb05b95d2b127d4b98178e76c86fd tcp_port:7501 uptime_in_seconds:6317102 uptime_in_days:73 hz:10 configured_hz:10 lru_clock:16174420 executable:/usr/local/redis/src/redis-server config_file:/usr/local/redis/src/redis.conf ......
查看服务所有[部分]信息
使用info [section]查看
- 查看所有信息
127.0.0.1:6379> info
- 查看具体信息
服务器信息 127.0.0.1:6379> info server 持久化信息 127.0.0.1:6379> info persistence
2 redis库相关命令
切换到1号库;redis有16个初始化库,编号0到15,默认使用0号库 select 1 如果需要验证 auth [password] 查看当前库的key的数量 dbsize 删除当前库的全部数据 flushdb 删除所有库的全部数据 flushall
3 redis key相关命令
对key有操作的命令,统一返回值都是1或者0,成功为1,失败为0
查看当前库的全部key keys * 判断某个key是否存在,存在返回1,不存在返回0 exists [key] 查看某个key的类型,如果key不存在,则返回none type [key] 删除指定的key数据,成功返回1,失败返回0 del [key] 根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除后在后续异步操作 unlink [key] 查看某个key的过期时间,单位(秒),-1表示永不过期,-2表示已经过期 ttl [key] 给指定的key设置过期时间,单位(秒) expire [key] 10
4 redis 字符串相关命令
-
set:添加一条数据 例如set k1 v1,添加key为k1,值为v1的数据 -
get:得到某个key的数据,例如get k1,得到key为k1的值 -
append:将给定的value,追加到某key的原值的末尾,返回追加后的字符长度 -
strlen:查询某key的值的长度 -
setnx:当key不存在的时候,才能添加成功,当key存在的时候,不能添加 -
incr:将某个key的值,数字增加1,仅仅对数字起作用,如果为空,新增值为1 -
decr:将某个key的值,数字减少1,仅仅对数字起作用,如果为空,新增值为-1 -
incrby/decrby:将key中储存的数字值增减,自定义步长 -
mset:批量添加 -
mget:批量取值 -
msetnx:批量添加,当且仅当所有的key都不存在(因为原子性,一个失败则都失败) -
getrange:获取某个key值的范围,getrange k1 0 2,包含0位置的元素,和2位置的元素 -
setex:设置键值的同时设置过期时间(单位秒) -
getset:设置新值,并返回旧值
5 redis 列表相关命令
-
lpush/rpush:从左边,或者右边添加数据 -
lpop/rpop:从左边,或者右边取出一个值,列表里这个值就不存在了 -
rpoplpush:从key1的右边取一个值,添加在key2的左边 -
lrange:按照索引下角标得到元素(从左往右),当结束为值为-1时,代表得到多有,这个值还在列表中 -
lindex:按照索引,从左往右获得对应的值 -
llen:获得列表长度 -
linsert before/after: 在某个key下的某个值的前面/后面添加一个新的值 -
lrem:删除某个key下,删除n个值为value的数据 -
lset:将某个key下的某个下角标的值换成给定的值
6 redis 集合相关命令
-
sadd:添加数据,如果值已经存在,忽略该值 -
smembers:得到集合中所有的值 -
sismember:判断某个key中是否存在value,存在返回1,不存在返回0 scard :返回集合的元素个数 -
srem:删除某个key中的某些元素 -
spop:从key中随机取出一个值,如果值没了,那么key就不在了 -
srandmember:从某个key中,取出n个值,不会从集合中删除 -
smove:把集合中的一个值移动到另一个集合 -
sinter:取两个集合的交集 -
sunion:取两个集合的并集 -
sdiff:取两个集合的差集(在key1中的,不在key2中的)
7 redis 哈希相关命令
-
hset:给某个key哈希表中的field键复制为value -
hget:得到某个key哈希表中某个field的值 -
hmset:批量加数据 -
hexists:某个key哈希表中某个field是否存在 -
hkeys:查看某个key哈希表中的全部field -
hvals:查看某个key哈希表中的全部value -
hincrby:为某个key的哈希表中的某个field键的值加上响应的增量 -
hsetnx:某个key哈希表中的field键复制为value,当且仅当key不存在的时候成功
8 redis 有序集合(Zset)相关命令
-
zadd:添加以一个过着多个元素,score为评分,集合按照从低到高及进行排序,评分可以重复 -
zrange [withscores]:查一定范围的元素,end为-1时,查询所有,withscores加上他,连着评分一起查出 -
zrangebyscore [withscores]:查询score评分在某个范围内的数据,从小到大排序 -
zrevrangebyscore [withscores]:查询score评分在某个范围内的数据,从大到小排序 -
zincrby:为元素的score加上指定的增量 -
zrem:删除数据 -
zcount:统计score评分在某个范围内的数据的数量 -
zrank:返回集合中的排序,排序从0开始
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。
