首页 > 数据库 >Redis

Redis

时间:2024-11-29 20:59:53浏览次数:10  
标签:返回 示例 数据库 Redis key 返回值 复杂度

Key(键)

DEL 格式:

DEL key [key ...]

删除给定的一个或多个 key 。 不存在的 key 会被忽略。

可用版本: >= 1.0.0 时间复杂度: O(N), N 为被删除的 key 的数量。 删除单个字符串类型的 key ,时间复杂度为 O(1)。 删除单个列表、集合、有序集合或哈希表类型的 key ,时间复杂度为 O(M), M 为以 上数据结构内的元素数量。

返回值:

被删除 key 的数量。

示例代码:

KEYS

格式:keys pattern

查找所有符合给定模式 pattern 的 key 。 KEYS * 匹配数据库中所有 key 。 KEYS h?llo 匹配 hello , hallo 和 hxllo 等。 KEYS h*llo 匹配 hllo 和 heeeeello 等。 KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。 特殊符号用 \ 隔开 警告:KEYS 的速度非常快,但在一个大的数据库中使用它仍然可能造成性能问题,如 果你需要从一个数据集中查找特定的 key ,你最好还是用 Redis 的集合结构(set)来代替。

可用版本: >= 1.0.0

时间复杂度: O(N), N 为数据库中 key 的数量。

返回值: 符合给定模式的 key 列表

示例代码:

RANDOMKEY

格式:randomkey

从当前数据库中随机返回(不删除)一个 key 。

可用版本: >= 1.0.0

时间复杂度: O(1)

返回值:当数据库不为空时,返回一个 key 。 当数据库为空时,返回 nil 。

示例代码:

TTL

格式:ttl key:以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。

可用版本: >= 1.0.0

时间复杂度: O(1)

返回值: 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。 注:在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令 都返回 -1 。

示例代码:

PTTL

格式:pttl key

这个命令类似于 TTL 命令,但它以毫秒为单位返回 key 的剩余生存时间,而不是像 TTL 命令那样,以秒为单位。

可用版本: >= 2.6.0

复杂度: O(1)

返回值: 当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以毫秒为单位,返回 key 的剩余生存时间。 注:在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令 都返回 -1 。

示例代码:

EXISTS

格式:exists key 检查给定 key 是否存在。

可用版本: >= 1.0.0

时间复杂度: O(1)

返回值: 若 key 存在,返回 1 ,否则返回 0

示例代码:

MOVE

格式:move key db

将当前数据库的 key 移动到给定的数据库 db 当中。 如果当前数据库(源数据库)和给定数据库(目标数据库)有相同名字的给定 key ,或者 key 不存在于当前数据库,那么 MOVE 没有任何效果。

因此,也可以利用这一特性,将 MOVE 当作锁(locking)原语(primitive)。

可用版本: >= 1.0.0 时间复杂度: O(1) 返回值: 移动成功返回 1 ,失败则返回 0 。

示例代码:

标签:返回,示例,数据库,Redis,key,返回值,复杂度
From: https://blog.csdn.net/2301_78714573/article/details/144145367

相关文章

  • redis基本操作
    为什么学习redis,前几天有个需求,用到了redis库,之前学习过但仅限于大学的时候,这个时候差不多忘光了,需求测的时候也是现学的几个查询指令。印象最深的是开发设计的时候存储了10个不同key值但value(list字符串)相同的数据,当时问过为什么要存十个,解释为 “为了防止频繁的访问一个key导......
  • redis初级之HyperLogLog
    HyperLogLog1.描述​ HyperLogLog是一种概率数据结构,也被简称为HLL,用于估计集合的基数(总数)。和集合的用法基本一致,在使用时可以当做是在操作一个集合,但是HLL与集合的不同点在于HLL作为一种概率数据结构,以完美的精度换区了高效的空间利用率。这意味着HLL与集合在存储相同数据量的......
  • Linux安装Redis并配置开机自启
    我这边是CentOS7系统的,然后我准备安装Redis6.2首先是去官网下载Redis安装包,可以看到这里面有所有的安装包,不会下载的可以直接找我要(Redis官方下载地址)下载下来后我们把它传到服务器,我这边是放在了/usr/local目录下,然后我们给它解压tar-zxvfredis-6.2.13.tar.gz......
  • redis初级之Lua脚本
    Lua脚本1.简介与用法简介​ Lua语言是在1993年由巴西一个大学研究小组发明,其设计目标是作为嵌入式程序移植到其他应用程序,它是由C语言实现的,虽然简单小巧但是功能强大,所以许多应用都选用它作为脚本语言,尤其是在游戏领域,例如大名鼎鼎的暴雪公司将Lua语言引入到“魔兽世界”这款......
  • 多线程判断redis key导致Java hep space内存溢出
     线上经常发现报如下错误,后来发现rootcause是selectConfigitemforinstanceMap这个方法会查出几十万的结果集然后json压缩解压,写map等等操作,但是这个selectConfigitemforinstanceMap方法被很多地方调用到了,导致极有可能多线程同时都在查出几十万的结果集然后json压缩解压,写map等......
  • redis安装
    一、通用方式要在Linux上安装Redis,可以按照以下步骤进行操作:1.打开终端,使用以下命令下载Redis的压缩包:1wgethttp://download.redis.io/releases/redis-x.x.x.tar.gz注意将"x.x.x"替换为你想要下载的Redis版本号。2.解压下载的压缩包:1tar......
  • redis初级之事务
    事务​ 事务表示一组动作,要么全部执行,要么全不执行。例如在抖音上用户A关注了用户B,在用户A的关注的人中要添加用户B,在用户B的粉丝中要添加用户A,这些操作要么全部执行,要不全不执行,否则就会造成数据不同步的问题,比如用户A关注了用户B,用户A关注的人中有用户B,但是用户B的粉丝中并没有......
  • Redis【1】- 如何阅读 Redis源码
    1Redis的简介Redis实际上是简称,全称为RemoteDictionaryServer(远程字典服务器),由SalvatoreSanfilippo写的高性能key-value存储系统,其完全开源免费,遵守BSD协议。Redis与其他key-value缓存产品(如memcache)有以下几个特点。数据持久化:可以将内存中的数据保存在磁......
  • 5、Redis缓存设计最佳实践
    缓存穿透缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义。造成缓存穿透的基本原因有两个:第一,自身业务......
  • 6、Redis开发规范与性能优化
    键值设计key设计可读性与管理性,以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:id简洁性,保证语义的前提下,控制key的长度不要包含特殊字符value设计拒绝bigkey在Redis中,一个字符串最大512MB,一个二级数据结构(例如hash、list、set、zset)可以存储......