redis基本数据类型

https://www.redis.net.cn/order/3549.html

一些基本命令命令操作

dbsize

显示当前库的key的个数

flushdb

清除当前数据库的数据

flushall

清除所有库的数据

select 2

redis默认16个数据库,这个命令是选择2号库

keys *

keys * 显示当前库的所有key
在这里插入图片描述

exists key

key是否存在,存在返回1,不存在返回0
在这里插入图片描述

del key

删除key
在这里插入图片描述

move key db num

将key移动到哪个数据库中
在这里插入图片描述

expire key 秒

设置 key的过期时间

ttl key

查看key的过期时间
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
在这里插入图片描述

type key

查看key的类型
在这里插入图片描述

redis常用数据类型

String

基本的数据类型
一个key对应一个value
一个redis中字符串value最多可以是512M

set/get/del/append/strlen

在这里插入图片描述
在这里插入图片描述

incr/decr/incrby/decrby

字符串必须是数字,才可以执行这些命令,
incr/decr key 加/减 1
incrby/decrby key 数字 加/减 数字
在这里插入图片描述

getrange/setrange

getrange返回指定位置的字符串,setrange,指定位置插入并覆盖原来的字符
在这里插入图片描述

setex(set with expire)键秒值/setnx(set if not exist)

setex 设置key的值以及过期时间
setnx 如果key不存在才会设置
在这里插入图片描述

mset/mget/msetnx

mset 同时设置一个或多个 key-value 对
msetnx 命令 - 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
mget 命令 - 获取所有(一个或多个)给定 key 的值。

getset(先get再set)

将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
在这里插入图片描述

Hash

类似java里的map
是一个键值对集合
是一个string 类型的field和value的映射表,hash特别适合用于存储对象
类似java里面的Map<String,Object>

hset

返回值
如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段已经存在且旧值已被新值覆盖,返回 0 。

hget

返回值
返回给定字段的值。如果给定的字段或 key 不存在时,返回 nil
在这里插入图片描述

hmset 命令

同时将多个 field-value (域-值)对设置到哈希表 key 中。此命令会覆盖哈希表中已存在的字段。如果哈希表不存在,会创建一个空哈希表,并执行 HMSET 操作。

hmget 命令

获取所有给定字段的值
在这里插入图片描述

Hexists 命令

查看哈希表 key 中,指定的字段是否存在
在这里插入图片描述

Hincrby 命令

为哈希表 key 中的指定字段的整数值加上增量 increment 。
增量也可以为负数,相当于对指定字段进行减法操作。
如果哈希表的 key 不存在,一个新的哈希表被创建并执行 HINCRBY 命令。
如果指定的字段不存在,那么在执行命令前,字段的值被初始化为 0 。
对一个储存字符串值的字段执行 HINCRBY 命令将造成一个错误。
本操作的值被限制在 64 位(bit)有符号数字表示之内。
在这里插入图片描述

Hlen 命令

获取哈希表中字段的数量
在这里插入图片描述

Hdel 命令

删除一个或多个哈希表字段
在这里插入图片描述

Hvals 命令

获取哈希表中所有值,一个包含哈希表中所有值的表。 当 key 不存在时,返回一个空表。

hkeys命令

获取所有哈希表中的字段,包含哈希表中所有字段的列表。 当 key 不存在时,返回一个空列表。
在这里插入图片描述

Hincrbyfloat 命令

为哈希表 key 中的指定字段的浮点数值加上增量 increment
执行 Hincrbyfloat 命令之后,哈希表中字段的值。
在这里插入图片描述

Hsetnx 命令

只有在字段 field 不存在时,设置哈希表字段的值
Redis Hsetnx 命令用于为哈希表中不存在的的字段赋值 。
如果哈希表不存在,一个新的哈希表被创建并进行 HSET 操作。
如果字段已经存在于哈希表中,操作无效。
设置成功,返回 1 。 如果给定字段已经存在且没有操作被执行,返回 0 。
在这里插入图片描述

List

redis列表是简单的字符串列表,按照插入顺序排序。
底层实际是个链表

lpush/rpush/lrange

在这里插入图片描述
lpush头插法,rpush尾插法
lrange key 0 -1 表示取key里的全部元素

lpop/rpop

在这里插入图片描述
lpop取第一个元素,rpop取最后一个。双向链表

lindex

按照索引下标获得元素
在这里插入图片描述

llen

长度
在这里插入图片描述

lrem key

删除n个value
下边的例子 删除 2 个 5
在这里插入图片描述
当列表里只有一个value时,但是执行命令要删除多个value。也可以成功
在这里插入图片描述

ltrim

ltrim key start end 截取指定范围的值后在赋值给key
在这里插入图片描述

rpoplpush

rpoplpush 源 目标
源的尾到目标的头
在这里插入图片描述

lset key index value

以新的value值覆盖原来index位置的值
在这里插入图片描述

linsert key before/after 值1 值2

在这里插入图片描述

总结

如果键不存在,则创建新的列表
如果键已存在,新增内容
如果值全移除,对应的键也消失了
头尾操作效率很高,但是对中间元素进行操作,效率就一般了

Set

是 string类型的无序集合。它是通过hashTable实现的

sadd/smembers

在这里插入图片描述

scard

获取集合里边的元素个数
在这里插入图片描述

srem key value 删除集合元素

在这里插入图片描述

srandmember key 某个整数

随机出几个数,不会改变原有集合
在这里插入图片描述

spop key

随机出栈
在这里插入图片描述

smove key1 key2 key1里的某个值

作用是将key1里的某个值赋给key2,key2不存在会直接创造key2
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210518112402722.png

数学集合类

  • 差集 sdiff
  • 交集 sinter
  • 并集 sunion
    在这里插入图片描述

sorted Set

zset和set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数
redis正式通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的。但是分数(score)却可以重复

zadd

向有序集合添加一个或多个成员,或者更新已存在成员的分数
Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。
如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。
分数值可以是整数值或双精度浮点数。
如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。
当 key 存在但不是有序集类型时,返回一个错误。

redis常见数据类型操作命令

http://redisdoc.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值