Redis详解(二)——Redis基本操作

2023-10-29

今天继续给大家介绍Redis的相关知识,本文主要内容是Redis的基本操作。
本文旨在为大家介绍Redis的基本操作,属于Redis入门级的介绍,如果想要进一步了解Redis的使用操作,推荐以下网站:https://www.runoob.com/redis/redis-tutorial.html

一、Redis服务与登录

Redis服务在打开后,默认监听6379端口,如下图所示:
在这里插入图片描述
redis-cli命令时Redis的客户端登录命令,该命令有以下参数:
-h 表示指定要登录主机的IP地址。
-p 表示指定要登录所使用的socket文件。
-a 表示指定登录所使用的密码。
-n 表示要进入的数据库。
在默认情况下,Redis服务器不尽兴登录验证,因此,如果是登录本地的Redis服务器,则不带任何参数,直接执行该命令即可。

二、Redis交互页面介绍

在登录Redis后,会进入到与Redis的交互页面,在该页面中,左边打头的是所登录服务器的IP地址和端口,然后跟一个尖括号。如果当前所在的库不是0号库,则会后面跟方括号里面跟库名然后再跟尖括号,如下所示:
在这里插入图片描述
执行命令help可以查看帮助,如下图所示:
在这里插入图片描述
Redis的帮助功能非常强大,执行命令

help @【类名】

可以查看该类的所有命令,如下图所示:
在这里插入图片描述
执行命令:

help 【命令名】

可以查看该命令的参数和使用方式,如下图所示:
在这里插入图片描述
此外,当我们键入Redis命令时,Redis还会有后续输入参数的提示,当我们按Tab键时,还会对之前我们的输入进行补全,因此,我们在使用时非常方便。

三、Redis字符串基本操作

下面,我来介绍一下Redis基于字符串的基本操作:
1、set命令
set命令用于设置一个键-值对,前面第一个参数跟的是一个键名,第二个参数跟的是该键所对应的值,如:

set 1 abc

set命令后面还可以选择性的跟EX和PX参数,这两个参数表示这个set命令设置的键-值对有效期,EX单位为s,PX单位为毫秒,如:

set 1 abc EX 20

这样,该参数在20秒后就会自动删除消失。
在Redis中,同一个库内,可以存在相同的值,但是不允许存在两个相同的键,在默认情况下,如果set命令设置的键名不存在,就会创建该键-值对,如果该键存在,就会覆盖掉原来的键-值对所对应的值,set命令后面可以跟NX和XX选项来进行精确控制,NX选项表示只有当set命令的键不存在时set命令才生效,而XX选项表示只有当set命令的键存在时才生效。
2、get命令
get命令用于查看一个键所对应的值,该参数后面跟着的是键名,返回的是一个值名。
3、append命令
append命令用于在一个键所对应的值后面附加内容,该命令第一个参数后面跟着的是键名,第二个参数后面跟着的是要附加的内容,append命令使用示例如下:

append 1 abc

表示在键1所对应值后面添加abc的内容,执行效果如下:
在这里插入图片描述
4、strlen命令
strlen命令用于返回一个键所对应的值得长度,该命令后面跟一个参数,即一个键名,该命令执行结果如下:
在这里插入图片描述
5、incr命令
incr命令用于将一个键所对应的值加1,但是前提是该键对应的值是一个整数类型,该命令效果如下图所示:
在这里插入图片描述
6、del命令
del命令用于删除一个键-值对,del命令后面跟一个参数,即键名,del命令效果如下:
在这里插入图片描述

四、Redis列表基本操作

下面,我来介绍一下Redis的列表相关操作命令。Redis的列表是一个线性结构,可以在左边和右边对该线性结构进行操作,操作可以是新增内容,删除内容等等,Redis列表相关操作如下:
1、lpush和rpush命令
lpush命令表示从列表左边的左边插入一个元素,rpush则表示从右边。该命令后面第一个参数为列表名称,第二个参数为要插入的内容,例如:

lpush class LiHua

即可从列表的左边插入LiHua。
Redis没有专门的建立列表的命令,直接执行lpush和rpush命令就可以创建列表。
2、lindex和rindex命令
lindex命令表示查看指定索引位置处的值,lindex和rindex的区别在于索引从左边和右边起算,该命令第一个参数表示列表名,第二个参数为索引值。注意,索引从0开始起算,并且当索引值超出列表的长度时,会返回nil,该命令执行结果如下:
在这里插入图片描述
3、lpop和rpop命令
lpop命令用于在左边弹出一个值,之后的索引数目重新起算,rpop表示从右边弹出一个值,该命令执行结果如下:
在这里插入图片描述
4、lset和rset命令
lset命令用于修改指定列表指定索引处的值,lset与rset的区别在于前者从左边开始起算,后者从右边开始起算,该命令第一个参数为列表名,第二个参数为索引值,第三个参数为要修改的值,该命令执行结果如下:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

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

Redis详解(二)——Redis基本操作 的相关文章

  • 如何将node.js管道传输到redis?

    我有很多数据要插入 SET INCR 到redis DB 所以我正在寻找pipeline http redis io topics pipelining 质量插入 http redis io topics mass insert通过node
  • 如何设置和获取Redis中存储的对象?

    我试图在 redis 中存储一个对象 当我获取该对象时 它似乎不起作用 I tried u User new u name blankman redis set test u x redis get test x name error 我想
  • Lua中按字符分割字符串

    我有像这样的字符串 ABC DEF 我需要将它们分开 字符并将两个部分分别分配给一个变量 在 Ruby 中 我会这样做 a b ABC DEF split 显然Lua没有这么简单的方法 经过一番挖掘后 我找不到一种简短的方法来实现我所追求的
  • Java 将字节转换为二进制安全字符串

    我有一些以字节为单位的数据 我想将它们放入Redis中 但是Redis只接受二进制安全字符串 而我的数据有一些二进制非安全字节 那么如何将这些字节转换为二进制安全字符串以便将它们保存到 Redis 中呢 Base64 对我有用 但它使数据更
  • Laravel 所有会话 ID 与 Redis 驱动程序

    在我的应用程序中 我希望允许某些用户能够注销除他 她之外的所有其他用户 当会话驱动程序设置为文件时 我已经完成了此功能 但现在我使用 redis 作为会话驱动程序 并且我无法找到任何方法来列出所有当前会话 就像我在文件时所做的那样司机 问题
  • Redis是如何实现高吞吐量和高性能的?

    我知道这是一个非常普遍的问题 但是 我想了解允许 Redis 或 MemCached Cassandra 等缓存 以惊人的性能极限工作的主要架构决策是什么 如何维持连接 连接是 TCP 还是 HTTP 我知道它完全是用C写的 内存是如何管理
  • 想要在后台不间断地运行redis-server

    我已经下载了 redis 2 6 16 tar gz 文件并安装成功 安装后我运行 src redis server 它工作正常 但我不想每次都手动运行 src redis server 而是希望 redis server 作为后台进程持续
  • Amazon Elasticache Redis 集群 - 无法获取端点

    我需要获取 Amazon Elasticache 中 Redis 集群的终端节点 以下代码适用于 Memcached 集群 但不适用于 Redis import com amazonaws auth AWSCredentials impor
  • 节点应用程序之间共享会话?

    我目前有两个独立的节点应用程序在两个不同的端口上运行 但共享相同的后端数据存储 我需要在两个应用程序之间共享用户会话 以便当用户通过一个应用程序登录时 他们的会话可用 并且他们似乎已登录到另一个应用程序 在本例中 它是一个面向公众的网站和一
  • 如何延长 django-redis 中的缓存 ttl(生存时间)?

    我正在使用 django 1 5 4 和 django redis 3 7 1 我想延长缓存的 ttl 生存时间 当我取回它时 这是示例代码 from django core cache import cache foo cache get
  • Spring Redis 排序键

    我在 Redis Spring Data Redis 中有以下键 localhost gt Keys 1 id 1 Name C5796 Site DRG1 2 id 2 Name CX1XE Site DG1 3 id 3 Name C5
  • 为什么单个 Redis 实例不是线程安全的?

    https github com xetorthio jedis wiki Getting started https github com xetorthio jedis wiki Getting started 在多线程环境中使用Jed
  • 没有适用于机器人的 Laravel 会话

    我在大型 Laravel 项目和 Redis 存储方面遇到问题 我们将会话存储在 Redis 中 我们已经有 28GB 的 RAM 然而 它的运行速度仍然相对较快 达到了极限 因为我们有来自搜索引擎机器人的大量点击 每天超过 250 000
  • Web API 缓存 - 如何使用分布式缓存实现失效

    我有一个 API 目前不使用任何缓存 我确实有一个正在使用的中间件 它可以生成缓存标头 Cache Control Expires ETag Last Modified 使用https github com KevinDockx HttpC
  • 在redis中存储多个嵌套对象

    我想在redis中存储多个复杂的json数据 但不知道如何 这是我的 json 结构 users user01 username ally email email protected cdn cgi l email protection u
  • 在 Rails 应用程序上将 HASH 保存到 Redis

    我刚刚开始使用 Redis 和 Rails 所以这可能是一个愚蠢的问题 我试图将哈希值保存到 Redis 服务器 但是当我检索它时 它只是一个字符串 IE hash field gt value field2 gt value2 redis
  • redis能完全取代mysql吗?

    简单的问题 我是否可以使用 redis 而不是 mysql 来处理各种 Web 应用程序 社交网络 地理位置服务等 IT 领域没有什么是不可能的 但有些事情可能会变得极其复杂 将键值存储用于全文搜索之类的事情可能会非常痛苦 另外 据我所知
  • 在 Redis 中存储 IP 范围

    我有很多不同提供商的 IP 范围 例如 P1 192 168 1 10 192 168 1 50 192 168 2 16 192 168 2 49 P2 17 36 15 34 17 36 15 255 P3 我将此 IP 转换为 int
  • 如何高效地将数十亿数据插入Redis?

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

    我在我的一个 Java 应用程序中使用 Redis 并且正在序列化要存储在 Redis 中的对象列表 但是 我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer 相反 我想使用 J

随机推荐

  • 数值作业:顺序消去法解线性方程组之C语言代码

    实际上后面的Guass列主选主元 全选主元 都是由顺序高斯消元法稍加改动变化而来的 但是顺序消元会出现一个问题 如果我们要保留的那个元的系数很小 那么在消元过程中 势必会用很大的数字乘以次方程后再加到别的方程上消去别的方程中的改元 这样就会
  • 《FFmpeg Basics》中文版-09-overlay-画中画

    正文 overlay视频技术经常被使用 常见的例子是放置在电视屏幕上的电视频道标志 通常位于右上角 以标识特定的频道 另一个例子是画中画功能 可以在主屏幕的其中一个角落显示小窗口 小窗口包含选定的电视频道或其他内容 同时在主屏幕上观看节目
  • Three.js基础介绍

    文章目录 前言 项目引入 项目介绍 推荐理由 场景展示 总结 前言 Three js是基于原生WebGL封装运行的三维引擎 在所有WebGL引擎中 Three js是国内文资料最多 使用最广泛的三维引擎 项目引入 Three js中文网 g
  • android 相机预览编译 libyuv 处理 YUV 数据

    下载源码 需翻墙 Android Studio 新建一个 NDK 项目 源码拷贝到 cpp 目录下 include 下面是头文件 source 下面是源码 其它文件基本用不到不用管 CMakeLists txt 是 cmake 编译脚本 现
  • IBM的语音识别(IBM speech to text 语言转换成文字)

    1 登陆网址https www ibm com watson developercloud speech to text html并注册 2 打开网址https console ng bluemix net catalog category
  • 前女友

    点击这个会出现代码 简而言之 要满足v1 v2 但是md5 v1 md5 v2 1 可以通过 PHP处理0e开头md5时hash字符串漏洞 0e开头md5所代表的值相同 来构造 下面这篇文章中有关于这个的构造 https blog csdn
  • 南航829数据结构历年真题答案

    2013年真题 第四题 问题描述 已知有两个带头结点的单链表A和B 元素值递增有序 编写函数调整删减链表 使A链表的元素值为A B的交集 并成为一个递减有序的单链表 要求写出算法思想以及相应代码 代码 2013数据结构第四题 include
  • 使用null,not in翻车了(oracle)

    水平有限 如有错误 请多指正 由于对null和not in理解得不是很透彻 导致在生产环境出问题了 请看下面的sql 为了简单 sql做过调整 select sd prestpword pres from ci pres pres wher
  • 全球第二大成人网站,黄了!

    推荐大家关注一个公众号 点击上方 编程技术圈 关注 星标或置顶一起成长 后台回复 大礼包 有惊喜礼包 每日英文 To give up is easy But to hold it together when everyone else th
  • 历届试题 高僧斗法  (博弈)

    题目 历届试题 高僧斗法 时间限制 1 0s 内存限制 256 0MB 锦囊1 博弈论 NIM取子游戏 锦囊2 将两个两个看成一组 他们之间的间隔可以看成一个NIM取子游戏 问题描述 古时丧葬活动中经常请高僧做法事 仪式结束后 有时会有 高
  • tomcat加载jar包顺序

    概述 项目使用springMVC serviceImpl注入的一个bean无法找到 究其原因是无法找到日志类 其实在spring的配置文件中配置了bean 而且程序代码在其他人的机子上运行不报错 我这边抱错 类找不到apache commo
  • 华为手机如何固定横屏_华为手机屏幕如何转为横屏?很简单,只需这样设置

    设置华为手机横屏显示 需要打开手机的 自动旋转 功能 在使用时将手机机身横置即可 以华为P20Pro为例 详细操作步骤如下 1 从屏幕顶部向下滑动 调出系统的通知面板 2 向下拖拽通知面板 让面板显示全部快捷功能 3 在通知面板中 找到并打
  • SQLyog快捷键,这一篇就够!!

    我们在使用SQLyog进操作时 如果不使用快捷键 会很麻烦 尤其是多行注释这种骚操作 所以在非常忙碌的工作中 使劲的挤了挤 挤出点时间 来整理一下sqlyog的常用快捷键骚操作 一 连接 Ctrl M 创建一个新的连接 Ctrl N 使用当
  • C# 参数传递(引用类型参数)

    目录 一 引言 二 引用类型参数作为值参数传递 三 引用类型参数作为引用参数传递 一 引言 方法中参数的传递方式主要有值参数传递和引用参数传递 ref out 而参数有可以分为值类型参数和引用类型参数 这里主要讲一讲引用类型参数的值 引用参
  • STM32F407IG单片机读写SD2405ALPI实时时钟程序(包括:读时钟时间、写时间到时钟、时间报警中断、倒计时中断)

    具体的IIC时序图和分析过程请参见下面网友的文章 https blog csdn net ybhuangfugui article details 52151835 本人在STM32F407单片机上亲测读时钟 写时钟 时间中断以及倒计时 秒
  • 简述RecyclerView的fling过程

    我们以RecyclerView为例 研究一下ListView是怎么滑动并且更新view的 首先可以肯定的是以Choreographer为基础实现的 一 fling过程研究 fling动作是由input事件触发的 1 1 RecyclerVi
  • 如何用Idea调试Maven插件

    调试端 maven插件源码端 被调试端 maven项目端 使用maven插件构建 和调试普通程序一样 只是调试命令有区别 过程原理如下 注 原理图片摘自https www cnblogs com turn2i p 11823884 html
  • vue实现一个展开和关闭的动画效果

    前言 用 vue animation 来实现一个展开与关闭的效果 效果图 组件逻辑 1 核心是通过改动他的宽度来实现展开 收缩的效果 2 点击展开 分两步 先用动画显示一个展开的效果 再用定时器来让他的效果保存在最后一帧 3 点击收缩 逻辑
  • 泽众TestOne自动化测试平台,挡板测试(Mock测试)上线了!!

    什么是挡板测试 Mock测试 主要应对与某些不容易构造或者不容易获取的对象以及暂时没有开发完成的对象 设计一个虚拟的对象 配置测试需求的业务数据 完成测试业务 TestOne是泽众软件自主研发的一体化测试系统 基于B S 体系结构 集自动化
  • Redis详解(二)——Redis基本操作

    今天继续给大家介绍Redis的相关知识 本文主要内容是Redis的基本操作 本文旨在为大家介绍Redis的基本操作 属于Redis入门级的介绍 如果想要进一步了解Redis的使用操作 推荐以下网站 https www runoob com