①Redis String 字符串类型【命令汇总】

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: ①Redis String 字符串类型【命令汇总】


①Redis String 字符串类型【命令汇总】



命令不区分大小写,而key是区分大小写的


始终实用的帮助命令,不会用就找它:help @类型

help @string
help @list
help @hash


1. set key value 设置指定key的值



set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]

set key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]


SET命令有EXPXNXXXKEEPTLL五个可选参数,其中KEEPTLL为6.0版本添加的可选参数,其他为2.6.12版本添加的可选参数。

  • EX seconds:以秒为单位,设置过期时间
  • PX milliseconds:以毫秒为单位,设置过期时间
  • EXAT timestamp:设置以秒为单位的UNIX时间戳所对应的时间为过期时间
  • PXAT milliseconds-timestamp:设置以毫秒为单位的UNIX时间戳所对应的时间为过期时间
  • NX:当键不存在的时候,设置键值
  • XX:当键存在的时候,设置键值
  • KEEPTLL:保存设置前指定键的生存时间
  • GET:返回指定键原本的值,若键不存在时返回nil

SET命令使用EXPXNX参数,效果等同于SETEXPSETEXSETNX命令,根据官方文档描述:SETEXPSETEXSETNX命令未来可能会被淘汰。

EXATPXATGET参数为Redis6.2新增的可选参数。


返回值

  • 设置成功则返回OK
  • 返回nil代表未执行SET命令,如不满足NX、XX条件等情况
  • 若使用SET参数,则返回键原本的值,若键不存在则返回nil


set k1 v1       # 设置键k1值为v1
set k2 v2 ex 10 # 设置键k2值为v2,十秒后过期
ttl k2          # 查看k2的过期时间
# 十秒后,k2过期了...
set k2 v2 px 9000 # 设置键k2值为v2,9000毫秒后过期
# 九秒后,k2又过期了...
set k2 v2 nx    # 当k2不存在时,创建设置键k2值为v2
set k2 v22 xx   # 当k2存在时,设置键k2的值为v22


2. get key 获取指定key的值



get key

get k1 # 获取k1的值
get k2 # 获取k2的值

k3不存在,返回空


3. mset key value 设置多个键值



mset key value [key value ...]


# 设置多个键值:kk1 vv1、kk2 vv2、kk3 vv3
mset kk1 vv1 kk2 vv2 kk3 vv3


4. mget key 获取多个指定键的值



mget key [key ...]


# 一次获取多个键的值
mget k1 k2 kk1 kk2 kk3


5. msetnx key value 设置多个键值(键不存在为前提)


msetnx key value [key value ...]


# 键a不存在,创建成功
msetnx a a
# 键a存在,键b不存在,创建不成功
msetnx a a b b
# !多个键值中,只要出现不符合条件的键值,msetnx命令就不会执行!


6. getrange 获取指定范围内的值


getrange key start end


# 获取k1键所有下标范围内的值
getrange k1 0 -1
# 获取k1键下标0-3范围内的值
getrange k1 0 3


7. setrange 设置指定范围的值


setrange key offset value


# 设置k1键从下标0开始区间范围的值,返回值是当前k1键的值的长度
setrange k1 0 xxxx


8. incr key 递增数字


一定要是数字才能进行加减


incr key


# 递增K2键的值
incr k2


9. decr key 递减数字


一定要是数字才能进行加减


decr key


# 递减K2键的值
decr k2


10.incrby 增加指定的整数


一定要是数字才能进行加减


incrby key decrement


# 为k2键的值增加90
incrby k2 90


11.decrby 减去指定的整数


一定要是数字才能进行加减


decrby key decrement


# 为k2键的值减去100
decrby k2 100


12. strlen key 获取指定键的值长度(字符串长度)


strlen key


# 获取k1键的值的字符串长度
strlen k1
strlen k2
strlen kk1
strlen kk2
strlen kk3


13. append 内容追加


append key value


#向k1键的值最佳内容"ooooo"
append k1 ooooo


14. setex 设置带过期时间的key


setex key seconds value


# 设置键值对 k3 v3,过期时间为10秒
setex k3 10 v3



15. setnx 设置指定key的值(key不存在为前提)


setnx key value


# key不存在时,创建键值对,返回成功的个数
 setnx k3 v3



16. getset 设置指定key的值并返回旧值


getset key value


getset k1 oo29oo




相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
存储 缓存 监控
Redis设计与实现——Redis命令参考与高级特性
Redis 是一个高性能的键值存储系统,支持丰富的数据类型(字符串、列表、哈希、集合等)和多种高级功能。本文档涵盖 Redis 的核心命令分类,包括数据类型操作、事务与脚本、持久化、集群管理、系统监控等。特别介绍了事务的原子性特性、Lua 脚本的执行方式及优势、排序机制、发布订阅模型以及慢查询日志和监视器工具的使用方法。适用于开发者快速掌握 Redis 常用命令及其应用场景,优化系统性能与可靠性。
|
1月前
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
102 32
|
1月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
205 17
|
1月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
397 16
|
1月前
|
消息中间件 NoSQL Unix
Redis的基本特性以及其基础命令用法
这只是冰山一角,Redis的强大功能和简洁的操作方法值得我们深入了解和掌握,是复杂数据问题解决的有力工具。所以,来一场有趣的Redis冒险吧!
110 6
|
存储 NoSQL 关系型数据库
图解 Redis String 底层数据结构 SDS 与计数器实战
图解 Redis String 底层数据结构 SDS 与计数器实战
616 0
|
存储 NoSQL Shell
redis string底层数据结构
redis数据存储结构  redis的内部整体的存储结构就是一个大的hashmap,内部实现是数组实现hash,冲突通过挂链去实现,然后每个dictEntry就是一个key/value对象。
2299 0
|
存储 缓存 JSON
Redis进阶-string底层数据结构精讲
Redis进阶-string底层数据结构精讲
392 0
|
NoSQL Java API
Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
1、Redis和nosql简介,api调用 14.1/ nosql介绍   NoSQL:一类新出现的数据库(not only sql),它的特点: 1、  不支持SQL语法 2、  存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 3、  NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景 4、  NoSQ
2534 0

热门文章

最新文章