当前位置:网站首页>redis数据类型及常用命令
redis数据类型及常用命令
2022-08-06 13:28:00 【大鵬】
数据类型
- String字符类型
- map(hash)散列类型
- list列表类型
- set集合类型
- sortedset(zset)有序集合类型
list :有序,可以重复 ;(有序是指添加时候的顺序)
set :无序,不可重复 ;
String 类型
赋值
key 存在则修改对应的值,不存在则添加 key
set key value

取值
get key

取值并赋值
key 存在则修改对应的值,不存在则新建 key。
key 存在的时候修改值,返回的是 key 对应的修改之前的值。
key 不存在的时候,返回的是nil
getset key value


设置多个键
mset key value [key value ......]

获取多个键
mget key [key .......]

删除键
可以删除多个
del key [key .......]

数值递增
当存储的字符串是整数时
incr key

指定增加的数值
当存储的字符串是整数时
incrby key increment

数值递减
当存储的字符串是整数时
decr key

指定减少的数值
当存储的字符串是整数时
decrby key decrement

向尾部增加数据
append是向键值对的末尾追加 value,如果键不存在,则将改建的值设置为 value,相当于set key value,返回值是追加后字符串的总长度。
append key value

获取字符串长度
strlen key

截取字符串
返回的是截取的子串,下标从0开始,起始位置和结束位置都包含。
当起始位置是 0,结束为止为 -1 的时候,截取的是整个字符串。
getrange key 起始位置 结束位置

指定字符串替换
setrange key 起始位置 需要替换的值
将 键为 a 的字符串从 下标为 2 的位置开始 替换成 redis

设置键的过期时间同时设置值
时间默认以秒为单位
setex key 过期时间 value

Hash
hash叫散列类型,它提供了字段和字段值的映射。字段值只能是字符串类型,不支持散列类型、集合类型等其它
类型

赋值
设置一个值
hset key filed value

设置多个值
hmset key filed value [filed value ......]

取值
取一个值
hget key filed

取多个值
hmget key filed [filed ......]

取全部值
hgetall key

删除字段
hdel key filed [filed ......]

给字段增加指定数值
当时字段的值是数值类型的时候
hincrby key filed increment

判断字段是否存在
0 :不存在,1 :存在
hexists key filed

获取字段值、字段名
获取字段名
hkeys key

获取字段值
hvals key

获取字段数量
hlen key

List
Redis 中的 list 是采用链表的方式来存储的,与 java 中的 LinkedList 相似,所以对 Redis 中的 List 的操作,是操作两端的数据。
向列表两端添加数据
向左边添加数据
lpush key value [value ......]

向右边添加数据
rpush key value [value ......]

查看列表
列表类型最常用的命令之一,获取列表中的某一片段,将返回start、stop之间的所有元素(包含两端的元素),索
引从0开始。索引可以是负数,如:“-1”代表最后边的一个元素
lrange key start end

从列表两端弹出元素
LPOP(rpop)命令从列表左边(右边)弹出一个元素,会分两步完成:
第一步是将列表左边的元素从列表中移除
第二步是返回被移除的元素值
从左边弹出
lpop key

从右边弹出
rpop key

获取列表的中元素的个数
llen key

获取和设置指定索引的元素值(key 必须存在)
获取指定索引的元素值
lindex key index

设置指定索引的元素值
lset key index value

set
增加元素
sadd key value [value ......]

删除元素
srem key value [value ......]

获取集合中所有元素
smembers key

判断元素是否在集合中
0 : 不存在 ,1 :存在
sismember key value

获得集合中元素的个数
scard key

从集合中弹出一个元素
由于 set 集合是无序的,所以会随机的弹出一个值。
spop test

sortedset(zset)
Sortedset又叫zset
Sortedset是有序集合,可排序的,但是唯一。
Sortedset和set的不同之处,是会给set中的元素添加一个分数,然后通过这个分数进行排序。
增加元素(会根据分数排序)
向有序集合中加入一个元素和该元素的分数,如果该元素已经存在则会用新的分数替换原有的分数。返回值是新加
入到集合中的元素个数,不包含之前已经存在的元素
zadd key score member [score member ......]

获取元素的分数
zscore key member

删除元素
zrem key member

常用命令
检查键是否存在
0 :不存在,1 :存在
返回值为 存在的个数
exists key [key ......]

设置过期时间
默认以秒为单位
expire key 秒数

设置为以 毫秒 为单位
pexpire key milliseconds
清空过期时间
对应的值还在
persist key


获取键的时间
ttl key

查看键的类型
type key

获取所有键
keys *

模糊查看所有键
keys *key*

删除键(不管什么类型的)
del key [key ......]

重命名键名
rename key newkey

边栏推荐
猜你喜欢

408地域化趋势!湖北省985/211考研接近全考408!

在数据中查找信号
![[Geek Challenge 2019] PHP 1](/img/86/a65393768cd9cf129132fcd374dcd2.png)
[Geek Challenge 2019] PHP 1

Unity工具类 ResourcesManager资源管理器

易知微数字孪生智慧港口|打造智能化调度综合管控“大脑”,实现港口建设“新升级”

Kotlin-inline:你需要知道的一切(Android)

Wechat video account live broadcast room involving pornography

mybaits-plus notes

GDB/MI 命令总结

MODBUS to PROFINET gateway to connect power intelligent monitoring instrument to PROFINET network case
随机推荐
Istio的扩展和定制
解决创建虚拟机时No DEFAULT or UI configuration directive found问题
博学谷学习记录】超强总结,用心分享 | mongodb基础用法
SQL图解面试题:如何找到破产玩家?(交叉连接)
Golang sync.Once
微服务数据库分库设计解决方案(跨库关联查询、分布式事务处理)
Unity工具类 ResourcesManager资源管理器
Kubernetes 集群 Ingress 网关
在数据中查找信号
Chemical composition of Q295HR steel plate
ReentrantLock study notes
mybaits-plus笔记
Web page side IM products RainbowChat - Web v4.1 version has been released
vulnhub-DC-2 drone penetration record
vulnhub-DC-2靶机渗透记录
[极客大挑战 2019]PHP 1
力扣练习——49 最小高度树
Go 的 50 度灰: 新 Golang 开发者要注意的陷阱、技巧和常见错误
Micro service database depots design solutions (cross-database associated query, distributed transaction processing)
QT::QString 很全的使用