Redis 的使用

本文介绍了Redis中的基本命令,包括设置和获取键值、检查键是否存在、重命名键、设置过期时间等。此外,详细阐述了Redis的五大数据类型:字符串(String)、列表(List)、集合(Set)、有序集合(Zset)和哈希(Hash),以及各自的操作命令,如字符串的自增、列表的左右推入、集合的交并差集、有序集合的分数操作和哈希的字段管理等。
摘要由CSDN通过智能技术生成

1、redis的基本命令

序列命令举例描述
1set key values

set key value

设置键和值

mset key1 value1 key2 value2 设置多个键和值
2keys pattenkeys *

获得符合规则的键名列表

get key获得对应键值
mget key1 key2 ……获得多个对应键值
3exists keyexists key判断一个键是否存在
4rename key new_keyrename key new_key对键名重命名
5expire key seconds

set bar abc

expire bar 2000

设置过期时间
set key value key secondsset bar 123 ex 2000
setex key seconds valuesetex bar 2000 123
6persist keypersist bar设置永不过期
7TTL keyTTL bar查看剩余时间
8type key

set foo 1

type foo

查看数据类型
9flushallflushall清楚一个redis实例中的所有数据库

2、redis的基本数据类型

        2.1、字符串(String)

序列命令描述
1set key value设置指定key的值
2get key获取指定key的值
3meget key1 key2 …… keyn获取多个key值
4setnx key value只有在key不存在的时候才会设置key的值
5strlen key返回key值的字符串长度
6incr keykey值的自增 (原子操作)
7decr keykey值的自减 (原子操作)
8incrby key increment数字值增加num
9decrby key increment数字值减少num
10del key [key ...]删除键
11mset key value [key value ...]批量添加
12incrbyfloat key increment浮点数字增加
13append key value字符拼接(添加)
14setrange key offset value设置指定位置的字符
15getrange key start value获取部分字符串

        2.2、列表(list)

序列命令描述
1lpush key value1 value2 value3左边添加  value1 value2 value3
2rpush key value1 value2 value3右边添加  value1 value2 value3
3lpop key从左边删除元素
4rpop key从右边删除元素
5llen key获取长度
6lrem key count value
count >0 LREM 命令会从列表左边开始删除前 count 个值为 value 的元素
count<0LREM命令会从列表右边开始删除前|count|个值为value的元素
count=0LREM命令会删除所有值为value的元素
7lindex key index获取key值指定位置的数据
8lrange key min max截取判断,当max为-1时表示截取到最后一个

        2.3 集合(set)

序列命令描述
1sadd key member [member ……]增加元素
2srem key member [member ……]删除指定元素
3spop key [count]随机删除count个元素
4sismember key member判断元素是否存在
5smembers key获取所有元素
6scard key获取集合元素个数
7srandomember key [count]

获取count个数

count>0时返回count不重复的数

count<0时,可能出现重复的数

8sinter key1 key2求key1 key2的交集
sinterstore destination key1 key2
将key1 key2的交集保存到 destination中
9sunion key1 key2求key1 key2的并集
sunionstore destination key1 key2
将key1 key2的并集保存到 destination中
10sinter key1 key2求key1 key2的差集
sinterstore destination key1 key2
将key1 key2的差集保存到 destination中

        2.4 有序集合(zset)

        在集合类型的基础上有序集合类型为集合中的每个元素都关联了一个分数,这使得我们不仅可以完成插入、删除和判断元素是否存在等集合类型支持的操作,还能够获得分数最高(或最低)的前N个元素、获得指定分数范围内的元素等与分数有关的操作。虽然集合中每个元素都是不同的,但是它们的分数却可以相同。

        zset的特点和与set的差别:

        (1)列表类型是通过链表实现的,获取靠近两端的数据速度极快,而当元素增多后,访问中间数据的速度会较慢,所以它更加适合实现如“新鲜事”或“日志”这样很少访问中间元素的应用。

        (2)有序集合类型是使用散列表和跳跃表(Skiplist)实现的,所以即使读取位于中间部分的数据速度也很快(时间复杂度是O(log(N)))。

        (3)列表中不能简单地调整某个元素的位置,但是有序集合可以(通过更改这个元素的分数)。

       (4)有序集合要比列表类型更耗费内存。有序集合类型算得上是Redis5种数据类型中最高级的类型了,在学习时可以与列表类型和集合类型对照理解。

序列命令描述
1zadd key score1 member1 [score2 member2 ……]增加元素
2zrem key member删除指定元素
3zcard key 查看元素个数
4zscore key     member获取元素分数
5zrange key start stop [withscores]

从小到大打印 加上[withscore]会同时打印分数

6zrangebyscore key min max [withscores] [limit offset count]

按照元素分数从小到大的顺序返回分数在minmax之间(包含minmax

LIMIT 向后偏移offset个元素,并且只获取前count个元素

7zcount key score_min score_max获取指定分数范围的元素个数
8zincrby key increment member increment是增加的分数,分数可以是负数
9zremrangebyrank key start stop按照排名范围删除元素
10zremrangebyscore key min max按照分数范围删除元素
11zinterstore destination numkeys key [key…][WEIGHTS weight[weight…]] [AGGREGATE SUM|MIN|MAX]

        计算多个有序集合的交集并将结果存储在destination键中(同样以有序集合类型存储),返回值为destination键中的元素个数。destination键中元素的分数是由AGGREGATE参数决定的,默认是SUM,numkeys 代表的是进行交集的集合数量

        2.5 哈希类型(hash)

        散列类型(hash的键值也是一种字典结构,其存储了字段(field和字段值的映射,但字段值只能是字符串,不支持其他数据类型,换句话说,散列类型不能嵌套其他的数据类型。一个散列类型键可以包含至多232−1个字段。

        

序列命令描述
1hset key field value [hield value]添加数据(添加多个(或1个))
2hget key heild  field  [field]获取数据(获取多个)
3hkeys key获取所有fields
4hvals  key获取所有values
5hgetall key获取所有key和value
6hlen key获取field个数
7hstrlen key field计算value的字符串长度
8hexists key field判断字段是否存在
9hsetnx key field value不存在则添加,存在则什么都不做
10hincrby key field increment数字值做加法(可以是负数)
11hincrbyfloat key field increment浮点数字值做加法(可以是负数)
12hdel key field [field……]删除一个或多个字段

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值