docker exec -it redis redis-cli 启动redis
Redis中数据是key-value形式。不同类型Value是有不同的命令进行操作。key和value都支持下面类型(在代码中多把key设置为String类型):
- String 字符串
- Hash 哈希表
- List 列表
- Set 集合
- Sorted Set 有序集合
- Stream类型(Redis5以后新版本类型)
一.1、Key操作:
判断key是否存在。
语法:exists key
返回值:存在返回数字,不存在返回0
2.expire
设置key的过期时间,单位秒
语法:expire key 秒数
返回值:成功返回1,失败返回0
3.ttl
查看key的剩余过期时间
语法:ttl key
返回值:返回剩余时间,如果不过期返回-1
4.del
根据key删除键值对。
语法:del key
返回值:被删除key的数量
5.keys
命令: keys *
查看所有存在的key
二.字符串值(String)
1.Set
设置指定key的值。如果key不存在是新增效果,如果key存在是修改效果(覆盖)。键值对是永久存在的。
语法:set key value
返回值:成功OK
2.Get
获取指定key的值
语法:get key
返回值:key的值。不存在返回nil
3.Setnx
当且仅当key不存在时才新增。恒新增,无修改功能。
语法:setnx key value
返回值:不存在时返回1,存在返回0
4.setex
设置key的存活时间,无论是否存在指定key都能新增,如果存在key覆盖旧值。同时必须指定过期时间。
语法:
语法:setex key seconds value
三.哈希表(Hash)
Hash类型的值中包含多组field value。
1.hset
给key中field设置值。
语法:hset key field value /hset field key value
返回值:成功1,失败0
2.hget
获取key中某个field的值
语法:hget key field
返回值:返回field的内容
3.hmset
给key中多个filed设置值
语法:hmset key field value field value
返回值:成功OK
4.Hmget(基本不用,因为hset也可以设置多个)
一次获取key中多个field的值
语法:hmget key field field
返回值:value列表
5.hvals
获取key中所有field的值
语法:hvals key
返回值:value列表
6.hgetall
获取所有field和value
语法:hgetall key
返回值:field和value交替显示列表
7.hdel
删除key中任意个field
语法:hdel key field field
返回值:成功删除field的数量
- 列表(List)
key value1 value2 value3 value4
-
- Rpush
向列表末尾中插入一个或多个值
语法;rpush key value value
返回值:列表长度
-
- Lrange
返回列表中指定区间内的值。可以使用-1代表列表末尾
语法:lrange list 0 -1
返回值:查询到的值
-
- lpush
将一个或多个值插入到列表前面
语法:lpush key value value
返回值:列表长度
-
- llen
获取列表长度
语法:llen key
返回值:列表长度
-
- lrem
删除列表中元素。count为正数表示从左往右删除的数量。负数从右往左删除的数量。
语法:lrem key count value //lrem list1 2 3 删除list1中value为3的前两个
返回值:删除数量。 注意这个value需要和删除元素value一致才可以删除
- 集合(Set)
set和java中set集合类似。不允许重复值,如果插入重复值,后新增返回结果为0。
-
- sadd
向集合中添加内容。不允许重复。
语法:sadd key value value value
返回值:集合长度
-
- scard
返回集合元素数量
语法:scard key
返回值:集合长度
-
- smembers
查看集合中元素内容
语法:smembers key
返回值:集合中元素
- 有序集合(Sorted Set)
有序集合中每个value都有一个分数(score[权重]),根据分数(权重)进行排序。
//从小到大的顺序,权重不相同,但value相同时,只能保存一个value(添加顺序在后的被添加[同一条指令添加时])
-
- zadd
向有序集合中添加数据
语法:zadd key score value score value
返回值:长度
-
- zrange
返回区间内容,withscores表示带有分数
语法:zrange key 区间 [withscores] //查看所有 zrange key 0 -1
返回值:值列表
Redis基础篇:https://cyborg2077.github.io/2022/10/21/RedisBasic/
Redis实战篇:https://cyborg2077.github.io/2022/10/22/RedisPractice/