redis-cli 基础操作

目录

一 . 连接Redis-cli

二. 切换数据库(SELECT)

三. String 字符串(可以为整形、浮点型和字符串,统称为元素)

string类型的常用命令:

1. 插入/读取单条信息

2. 插入/读取多条信息

四. Hash 散列值(hash的key必须是唯一的)

hash数据类型支持的常用命令:

1. 插入/读取单条信息

2. 插入/读取多条信息

3. 删除

五. List 列表(实现队列,元素不唯一,先入先出原则)

list类型支持的常用命令:

1. 左插入/左删除

2. 右插入/右删除

3. 遍历

六. Set 集合(各不相同的元素)

set类型支持的常用命令:

七. Sorted Set 有序集合

sort set和hash很相似,也是映射形式的存储:

八. 通用删除

九. 清理当前库

十. 清理所有库

十一. 失效时间

 1. 查询失效时间

2. 设置失效时间


一 . 连接Redis-cli

使用 redis-cli 客户端连接Redis服务。

[root@master redis]#  bin/redis-cli -h 192.168.182.100 -p 6379 -a 123456

  • -h : ip 地址
  • -p : 端口
  • -a : 密码

二. 切换数据库(SELECT)

SELECT 0~15           # 默认在0号库

三. String 字符串(可以为整形、浮点型和字符串,统称为元素)


string类型的常用命令:

  • 自加:incr
  • 自减:decr
  • 加: incrby
  • 减: decrby

1. 插入/读取单条信息

SET key value [expiration EX seconds|PX milliseconds] [NX|XX]   # 插入

GET ke  # 读取

192.168.182.100:6379> set username zhangsan
OK
192.168.182.100:6379> get username
"zhangsan"

2. 插入/读取多条信息

MSET key value [key value ...]    # 插入多条

MGET key [key ...]  # 读取多条

192.168.182.100:6379> mset age 20 address sh 
OK
192.168.182.100:6379> mget age address
1) "20"
2) "sh"

四. Hash 散列值(hash的key必须是唯一的)


hash数据类型支持的常用命令:

  • hset:添加hash数据

  • hget:获取hash数据

  • hmget:获取多个hash数据

1. 插入/读取单条信息

HSET key field value  # 插入

HGET key fiel  # 读取

192.168.182.100:6379> hset user username zhangsan 
(integer) 1
192.168.182.100:6379> hget user username
"zhangsan"

2. 插入/读取多条信息

HMSET key field value [field value ...]  # 插入多条

HMGET key field [field ...]   # 读取多条

192.168.182.100:6379> hmset user age 18 address sh
OK
192.168.182.100:6379> hmget user age address
1) "18"
2) "sh"

3. 删除

HDEL key field [field ...]  # 删除

192.168.182.100:6379> hdel user address
(integer) 1

五. List 列表(实现队列,元素不唯一,先入先出原则)


list类型支持的常用命令:

  • lpush:从左边推入

  • lpop:从左边弹出

  • rpush:从右变推入

  • rpop:从右边弹出

  • llen:查看某个list数据类型的长度
     

1. 左插入/左删除

LPUSH key value [value ...]   # 左插入,LPUSH(Left Push)

LPOP key  # 左删除, LPOP(Left Pop)

192.168.182.100:6379> lpush stu zhangsan lisi wangwu
(integer) 3
192.168.182.100:6379> lpop stu 
"wangwu"
192.168.182.100:6379> lpop stu
"lisi"
192.168.182.100:6379> lpop stu
"zhangsan"

2. 右插入/右删除

RPUSH key value [value ...]  # 右插入,RPUSH(Right Push)

RPOP key  # 右删除, RPOP(Right Pop)

192.168.182.100:6379> rpush stu zhangsan lisi wangwu
(integer) 3
192.168.182.100:6379> rpop stu
"wangwu"
192.168.182.100:6379> rpop stu
"lisi"
192.168.182.100:6379> rpop stu
"zhangsan"

3. 遍历

LRANGE key start stop  # 左闭右闭

192.168.182.100:6379> lrange stu 0 2
1) "wangwu"
2) "lisi"
3) "zhangsan"

六. Set 集合(各不相同的元素)


set类型支持的常用命令:

  • sadd:添加数据

  • scard:查看set数据中存在的元素个数

  • sismember:判断set数据中是否存在某个元素

  • srem:删除某个set数据中的元素

# 插入集合(添加元素成功返回1,元素存在返回0)

SADD key member [member ...] 

# 判断value是否在key所表示的Set中(元素存在返回1,元素或key不存在返回0)

SMEMBERS key

# 判断set数据中是否存在某个元素(删除某个元素成功,返回1,删除失败返回0)

SREM key member [member ...]

192.168.182.100:6379[3]> SADD letters a b c d e
(integer) 5
192.168.182.100:6379[3]> SMEMBERS letters
1) "b"
2) "d"
3) "c"
4) "a"
5) "e"
192.168.182.100:6379[3]> SREM letters a
(integer) 1

七. Sorted Set 有序集合


sort set和hash很相似,也是映射形式的存储:

  • zadd:添加

  • zcard:查询

  • zrange:数据排序

192.168.182.100:6379[4]> ZADD stu 98 zhangsan 95 lisi 90 wangwu 100 zhaoliu 93 tianqi
(integer) 5
192.168.182.100:6379[4]> ZRANGE stu 0 4
1) "wangwu"
2) "tianqi"
3) "lisi"
4) "zhangsan"
5) "zhaoliu"
192.168.182.100:6379[4]> ZREVRANGE stu 0 4
1) "zhaoliu"
2) "zhangsan"
3) "lisi"
4) "tianqi"
5) "wangwu"
192.168.182.100:6379[4]> ZREM stu zhangsan
(integer) 1

八. 通用删除


DEL key [key ...]    # 删除

192.168.182.100:6379> del username
(integer) 1

九. 清理当前库


FLUSHDB

十. 清理所有库


FLUSHALL

十一. 失效时间


 1. 查询失效时间

PTTL key,单位毫秒

TTL key,单位秒

192.168.182.100:6379> TTL lock
(integer) -1
  • -1 : 永不失效
  • -2 : 已失效
  • 正常时间 > 0 数字 : 剩余失效时间

2. 设置失效时间

PEXPIRE key milliseconds  # 毫秒

EXPIRE key seconds  # 秒

方法一:

192.168.182.100:6379> PEXPIRE lock 10000   # 设置lock 失效时间10000毫秒
(integer) 1

 方法二:

192.168.182.100:6379> set code test EX 100     # 设置失效时间100秒
OK
192.168.182.100:6379> ttl code
(integer) 167
192.168.182.100:6379> ttl code
(integer) 165

...

上一篇:深度解析SQL和NoSQL数据库,掌握主流数据库【两万字解析】


下一篇:Redis高频面试笔记:基础+缓存雪崩+哨兵+集群+Reids场景设计