Redis初级命令

2023-11-08

一、常用key命令

# 查看所有key
keys *

# 查看key的类型
type key

# 返回状态1/0,True/False,当传入多个key时返回or的结果,即只要有一个存在就返回True:

exists key [key ...]

# 将key从当前db移动到另一个db返回1/0,True/False:

move key db_index


# 给指定的 key 设置过期时间,以秒或unix timestamp为单位:

expire key seconds

# 追加字符串

APPEND key 

# 展示key的长度


strlen key

# 次数的增加
127.0.0.1:6379> set views 1
OK
127.0.0.1:6379> type views
string
127.0.0.1:6379> INCR views
(integer) 2
127.0.0.1:6379> type views
string
127.0.0.1:6379> INCRBY views 10
(integer) 12
127.0.0.1:6379>
127.0.0.1:6379> DECRBY views 200
(integer) -188
127.0.0.1:6379>

#重制数据库
127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379>

二、String

# 截取字符串
127.0.0.1:6379> GETRANGE name 0 3
"zxni"
127.0.0.1:6379> GETRANGE name 1 3
"xni"
127.0.0.1:6379>

# 替换字符串

127.0.0.1:6379> SETRANGE name 1 111
(integer) 6
127.0.0.1:6379> get name
"z111ce"
127.0.0.1:6379> SETRANGE name 3 xxxxx
(integer) 8
127.0.0.1:6379> get name
"z11xxxxx"
127.0.0.1:6379>


# setex (set with expire)  设置过期时间
# setnx (set if not exist) 先判断key是否存在,存在进行set,不存在不产生影响
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> SETEX key1 20 "zhang"
OK

127.0.0.1:6379> SETNX key1 123
(integer) 1
127.0.0.1:6379> SETNX key1 zxc
(integer) 0
127.0.0.1:6379> keys *
1) "key1"
2) "name"
127.0.0.1:6379> get key1
"123"
127.0.0.1:6379>

# 同时设置多个值
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3\
OK
127.0.0.1:6379> keys *
1) "key1"
2) "k2"
3) "k3"
4) "k1"
5) "name"
# 同时取出多个值
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3\\"
# 同时利用setnx设置,其具有原子性,同成功,一个失败就失败
127.0.0.1:6379> MSETNX k1 v1 k3 v3 k4 v4
(integer) 0
127.0.0.1:6379> keys *
1) "key1"
2) "k2"
3) "k3"
4) "k1"
5) "name"
127.0.0.1:6379>

# 利用json字符串实现对象的创建
127.0.0.1:6379> set user:1 {name:zx,age:3}
OK
127.0.0.1:6379> keys *
1) "user:1"
2) "key1"
3) "k2"
4) "k3"
5) "k1"
6) "name"
127.0.0.1:6379> get user:1
"{name:zx,age:3}"

# 如果不存在值,则返回nil 
# 存在值,则获取原来的值,输出,并重新设置值
127.0.0.1:6379> GETSET 111 123
(nil)
127.0.0.1:6379> GETSET 111 zxc
"123"
127.0.0.1:6379> get 111
"zxc"
127.0.0.1:6379>

三、List

# LPUSH 将一个值或者多个值,插入到头部,(左)
127.0.0.1:6379> LPUSH list 1
(integer) 1
127.0.0.1:6379> LPUSH list 2
(integer) 2
127.0.0.1:6379> keys *
1) "list"

# 通过区间获取list
127.0.0.1:6379> LRANGE list 0 1
1) "2"
2) "1"

# RIPUSH 将一个值或多个值,插入到尾部(右)
127.0.0.1:6379> RPUSH user zx
(integer) 1
127.0.0.1:6379> RPUSH user 
(integer) 2
127.0.0.1:6379> LRANGE 0 1
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> LRANGE user 0 1
1) "zx"
2) ""
127.0.0.1:6379>


127.0.0.1:6379> LRANGE user 0 -1
1) "zx"
2) ""
3) ""
4) "zx"
# RPOP 删除底部的一个元素
127.0.0.1:6379> RPOP user
"zx"
# LPOP 删除头部的一个元素
127.0.0.1:6379> LPOP user
"zx"
127.0.0.1:6379> LRANGE user 0 -1
1) ""
2) ""
127.0.0.1:6379>

# 通过索引获取该值,从0开始
127.0.0.1:6379> LINDEX user 1
# 获取长度
127.0.0.1:6379> LLEN user

# 移除的元素 加数量
127.0.0.1:6379> LREM user 3 ""

# 保留区间内的内容,其余会被删除
127.0.0.1:6379> LTRIM user 3 4

# 将user的最后一个元素转移到otherUser中
127.0.0.1:6379> RPOPLPUSH user otherUser

# 执行修改操作
127.0.0.1:6379> LSET otherUser 0 ""

# 在xxx前/后 插入元素
127.0.0.1:6379> LINSERT otherUser before “” zx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis初级命令 的相关文章

  • 如何在Redis中进行持久化存储?

    关闭redis服务器后 使用set存储的值被破坏 在这里我找到了使用持久性存储的方法 有人帮助我 如何使用javascript实现这一点 我想将客户端的一些值存储在 redis 数据库中 并且必须在其他客户端中使用该值 您需要配置 Redi
  • Redis发布/订阅:查看当前订阅了哪些频道

    我目前有兴趣查看我拥有的 Redis 发布 订阅应用程序中订阅了哪些频道 当客户端连接到我们的服务器时 我们将它们注册到如下所示的通道 user user id 这样做的原因是我希望能够看到谁 在线 目前 我在不知道客户端是否在线的情况下盲
  • Redis、会话过期和反向查找

    我目前正在构建一个网络应用程序 并想使用 Redis 来存储会话 登录时 会话会使用相应的用户 ID 插入到 Redis 中 并且过期时间设置为 15 分钟 我现在想实现会话的反向查找 获取具有特定用户 ID 的会话 这里的问题是 由于我无
  • Spring Data JPA Redis:无法编写基于自定义方法的查询

    我已经使用 Redis 配置了 Spring Data JPA 并使用RedisRepositorieswith 提供了类似的方法find findAll 所有这些方法似乎都工作得很好 但我无法编写我的自定义方法 RedisEntity f
  • Redis是如何实现高吞吐量和高性能的?

    我知道这是一个非常普遍的问题 但是 我想了解允许 Redis 或 MemCached Cassandra 等缓存 以惊人的性能极限工作的主要架构决策是什么 如何维持连接 连接是 TCP 还是 HTTP 我知道它完全是用C写的 内存是如何管理
  • StackExchange.Redis的正确使用方法

    这个想法是使用更少的连接和更好的性能 连接会随时过期吗 对于另一个问题 redis GetDatabase 打开新连接 private static ConnectionMultiplexer redis private static ID
  • 如何使 Redis 缓存中数据层次结构(树)的部分内容无效

    我有一些产品数据 需要在 Redis 缓存中存储多个版本 数据由 JSON 序列化对象组成 获取普通 基本 数据的过程很昂贵 将其定制为不同版本的过程也很昂贵 因此我想缓存所有版本以尽可能进行优化 数据结构看起来像这样 BaseProduc
  • redis 2.8.7 Linux Sentinel环境配置问题,如何使其自启动,应该订阅什么?

    现在我们尝试使用 redis 2 8 7 作为缓存存储 来自使用 booksleeve 客户端的 NET Web 应用程序 目前看来这是一个非常有趣和令人兴奋的任务 redis 文档非常好 但由于缺乏真正的实践经验 我确实有几个关于如何正确
  • Spring Redis删除不删除key

    我正在尝试删除一个 Redis 键 但由于某种原因它没有删除 但也没有抛出异常 这是我要删除的代码 import com example service CustomerService import com example model Cu
  • 在 Spring 4 中干掉通用的 RedisTemplate

    我读到你可以拥有 Autowired从 Spring 4 开始泛型 这太棒了 我有一个摘要RedisService我想参加的课程 Autowired一个通用的 RestTemplate 如下所示 public abstract class
  • 如何使用redis发布/订阅

    目前我正在使用node js和redis来构建应用程序 我使用redis的原因是因为发布 订阅功能 该应用程序只是在用户进入用户或离开房间时通知经理 function publishMsg channel mssage redisClien
  • 由于配置文件错误,无法启动 Redis 服务器

    我刚刚按照此处的说明安装了 Redis http redis io download http redis io download 当我运行 redis server redis conf 时出现以下错误 FATAL CONFIG FILE
  • Redis 在键过期时更新排序集

    我有一个 Redis 服务器 其中包含一组键值对和一个排序集 提供这些键值对的键的索引 键值对可以进入 已完成 状态 此时需要在 1 小时后删除它们 这可以通过在键上设置到期时间来简单地实现 但从排序集中清除它们似乎更成问题 我可以有一个过
  • 如何在Redis中正确存储图片?

    决定将图像存储在Redis中 如何正确执行 现在我这样做 redis gt set image path here is the base64 image code 我不确定这是否正常 将图片存储在Redis中是完全可以的 Redis 键和
  • ServiceStack PooledRedisClientManager 故障转移如何工作?

    根据 git commit 消息 ServiceStack 最近添加了故障转移支持 我最初认为这意味着我可以关闭我的一个 Redis 实例 并且我的池客户端管理器将优雅地处理故障转移并尝试与我的备用 Redis 实例之一连接 不幸的是 我的
  • 使用通配符查找键

    我已经使用分号保存了数据 redis gt keys party 1 party congress president 2 party bjp president 3 party bjp 4 party sena 是否有任何命令可以列出所有
  • memcache、redis 和 ehcache 作为分布式缓存框架的比较 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我需要做出的决定之一是在我的系统中使用什么缓存框架 有这么多可供选择 我目前正在研究 redis ehcache 和 memcached
  • 如何高效地将数十亿数据插入Redis?

    我有大约 20 亿个键值对 我想将它们有效地加载到 Redis 中 我目前正在使用 Python 并使用 Pipe 如redis py https redis py readthedocs io en latest redis Redis
  • 如何在Redis中使用HSCAN命令?

    我想在我的作业中使用 Redis 的 HSCAN 命令 但我不知道它是如何工作的 Redis 的官方页面 http redis io commands hscan http redis io commands hscan 这个命令给了我空白
  • Redis如何存储关联数组?设置、散列还是列表?

    我对 Redis 的所有可用存储选项有点困惑 我想做一些简单的事情 并且不想过度设计它 我正在与phpredis and Redis v2 8 6 我有一个需要存储的简单关联数组 我还需要能够通过其键检索项目并循环遍历所有项目 a arra

随机推荐

  • emoji表情大全

    emoji表情 emoji人物 emoji手势 emoji日常 emoji手机 emoji公共 emoji动物
  • 介绍一个很爽的 php 字符串特定检索函数---strpos()

    大家在用 php 开发的时候 是否 有遇到过 对于一个获取的字符串 如果想要特定检测它是否 含有某个特定的字符或者子字符串 总是找不到好方法 或者根本做不到 迫于无奈而使用foreach 函数 strpos 参数1 待检索的字符串或字符串变
  • Activity启动流程

    简述 Activity 启动分为两种 1 Activity中通过startActivity 方法启动一个Activity 2 从桌面通过点击应用图标启动一个App然后显示Activity 我们通过第二点来分析 更全面一点 先走一波流程图 以
  • 周志华《Machine Learning》学习笔记(17)--强化学习

    上篇主要介绍了概率图模型 首先从生成式模型与判别式模型的定义出发 引出了概率图模型的基本概念 即利用图结构来表达变量之间的依赖关系 接着分别介绍了隐马尔可夫模型 马尔可夫随机场 条件随机场 精确推断方法以及LDA话题模型 HMM主要围绕着评
  • ARM平台移植 openssl-1.1.0

    系统环境 Ubuntu 14 04 3 LTS 源码 openssl 1 1 0 pre1 tar gz 交叉编译环境 arm none linux gnueabi zhaojq virtual machine tar xzvf opens
  • gta5老是变成单人战局_《GTA5》为什么战局总是突然全部人都退出了?!

    不朽的传说猴哥 网络不好 我有时候也是 发布于 2020 04 13 01 46 45 不朽的传说猴哥 网络不好 我有时候也是 发布于 2020 04 13 01 46 45 不朽的传说猴哥 网络不好 我有时候也是 发布于 2020 04
  • 工作三年,你的存款有多少?统计出来的结果令人扎心

    最近看到一个粉丝给我留言 一个毕业三年的人 应该有多少存款 据我所知 身边大部分年轻人的存款都很少 如果你去问他们存款有多少 得到的答案很有可能是为零 甚至有很多人的存款是负数 每月工资到手就得拿去填各种窟窿 上千的房租 大几千的生活费 还
  • iOS中的autorelease

    iOS中的autorelease是一种非常重要的内存管理机制 它可以自动释放对象 从而避免内存泄漏和内存溢出等问题 在本文中 我们将详细介绍iOS中的autorelease机制 包括它的原理 使用方法以及注意事项等内容 autoreleas
  • TCP、UDP、IP报头结构体分析

    TCP UDP IP报头结构体分析 TCP数据段格式 TCP是一种可靠的 面向连接的字节流服务 源主机在传送数据前需要先和目标主机建立连接 然后 在此连接上 被编号的数据段按序收发 同时 要求对每个数据段进行确认 保证了可靠性 如果在指定的
  • c盘哪些文件可以删除?正确答案在这里!

    当我们使用电脑时 经常下意识把各种文件数据保存在c盘 导致c盘的空间越来越小 想要清理电脑缓存 c盘哪些文件可以删除 注意 清理文件之前 记得要备份好重要的数据 下面一起来看看哪些c盘文件可以删除吧 操作环境 演示机型 华硕X8AE43In
  • Python下的图像处理库,你要选哪个?

    欢迎大家关注微信公众号 baihuaML 白话机器学习 码字不易 如转载请私信我 在这里 我们一起分享AI的故事 您可以在后台留言 关于机器学习 深度学习的问题 我们会选择其中的优质问题进行回答 在进行数字图像处理时 我们经常需要对图像进行
  • location.host 与 location.hostname 的区别

    location host 与 location hostname 的区别 location host 包含端口 端口是80的话 就不显示 location hostname 不包含端口 http localhost 8888 locati
  • webgl unity_Unity WebGL中的低级插件

    webgl unity Last year we launched a series of technical blog posts on WebGL starting with a couple of posts on memory No
  • nrm 的安装和使用

    NRM介绍 官方解释 开发的npm registry 管理工具 nrm 能够查看和切换当前使用的registry 换言之nrm的作用就是方便用户切换npm的镜像源地址 npm的原始镜像源地址是在国外 国内网络访问比较慢 因此国内的某些大佬机
  • jupyter生成视频动画video anmation

    本文介绍一个正弦余弦波案例来展示jupyter生成动画过程 首先电脑安装一个叫做ffmpeg的软件 只有40M 是一个关于网页制作动画的软件 安装过程见博客 15条消息 安装ffmpeg并写入jupyter matplotlib 山晨啊8的
  • 目录遍历的三种方法

    1 目录的遍历 递归函数 def visitDir path li os listdir path for p in li pathname os path join path p if not os path isfile pathnam
  • Docker与容器的基本概念

    本文主要对Docker和容器的一些基本概念进行一个总结 一 容器与虚拟机 1 什么是容器 Docker官方对容器的解释 一句话概括 容器 Container 就是将软件打包成标准化单元 以用于开发 交付和部署 容器是打包代码及其所有依赖的软
  • mesa图解

    http www sourcecodebrowser com mesa 7 8 2 state 8c html
  • C - Divisors of the Divisors of An Integer Gym - 102040C

    题目链接 题意 就是求n 中因子的因子的个数 题解 n 中某个因子的个数就是n x的累加 证明 其实就是每次褪一层 即每次除去能除于1个3的 依次两个3的 三个3的个数 最终也就能得到3的个数 这里没必要 整除 因为是阶乘 所以即使不能整除
  • Redis初级命令

    一 常用key命令 查看所有key keys 查看key的类型 type key 返回状态1 0 True False 当传入多个key时返回or的结果 即只要有一个存在就返回True exists key key 将key从当前db移动到