Redis五大数据类型使用——String

2023-11-17

1.String(字符串)

添加查询追加获取长度判断是否存在的操作

C:\Users\12559>redis-cli.exe   # 启动redis
127.0.0.1:6379> set name kobe  # 插入一个key为'name'值为'kobe'的数据
OK
127.0.0.1:6379> get name       # 获取key为'name'的数据
"kobe"
127.0.0.1:6379> keys *         # 查看当前库中所有的key 
1) "student:1:name"
2) "student:1:age"
3) "name"
4) "hello"
5) "num"
127.0.0.1:6379> exists name    #判断key为‘name’的数据存在不存在,存在返回1
(integer) 1
127.0.0.1:6379> exists name1   # #判断key为‘name1’的数据存在不存在,存在返回0
(integer) 0
127.0.0.1:6379> strlen name     #查看key为‘name’的字符串长度
(integer) 4
127.0.0.1:6379> append name wade  # 追加, 如果key存在,拼接到后面,返回总长度
(integer) 8
127.0.0.1:6379> get name
"kobewade"
127.0.0.1:6379> set key1 "hello world"  # 插入数据中有空格需要加双引号
OK
127.0.0.1:6379> set key2 hello world    # Redis中空格就是分隔符,相当于该参数已结束
(error) ERR syntax error
127.0.0.1:6379>

自增自减操作

127.0.0.1:6379> set num 0            # 插入一个初始值为0的数据
OK
127.0.0.1:6379> get num              # 获取key为num的值 
"0"
127.0.0.1:6379> incr num             # 指定key为num的数据自增1
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> decr num             # 指定key为num的数据自减1
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incrby num 10        # 后面跟上by  指定key为‘num’的数据自增‘参数(10)’
(integer) 11
127.0.0.1:6379> decrby num 3         # 后面跟上by  指定key为‘num’的数据自减‘参数(3)’
(integer) 8
127.0.0.1:6379>

 ③截取替换字符串操作

127.0.0.1:6379> set key1 "hello world!" 
OK
127.0.0.1:6379> get  key1
"hello world!"
127.0.0.1:6379> getrange key1 0 4    # 截取字符串,下标从0开始,原key的值不改变
"hello"
127.0.0.1:6379> get key1
"hello world!"
127.0.0.1:6379> getrange key1 0 -1  # 相当于 get key1
"hello world!"
127.0.0.1:6379> set key2 "hello world!"
OK
127.0.0.1:6379> get key2
"hello world!"
127.0.0.1:6379> setrange key2 5 888    # 替换,原key的值会改变
(integer) 12 
127.0.0.1:6379> get key2
"hello888rld!"
127.0.0.1:6379>

 ④msetmget操作

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 # 插入多条数据
OK
127.0.0.1:6379> keys *                 # 查询所有的key  
1) "k2"
2) "k1"
3) "k3"
127.0.0.1:6379> mget k1 k2 k3          # 查询key为'k1','k2','k3'的数据
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k4 v4 k5 v5     # msetnx是一个原子操作,全部成功或者全部失败
(integer) 1
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "k4"
4) "k3"
5) "k5"
127.0.0.1:6379>

 ⑤添加获取对象getset操作

127.0.0.1:6379> mset student:1:name dingdada student:1:age 22  #新增一个key为‘student:1:name’,value为‘dingdada ’。。等数据
OK
127.0.0.1:6379> keys *  #查看所有的key
1) "student:1:age"
2) "student:1:name"
127.0.0.1:6379> mget student:1:age student:1:name  #获取数据
1) "22"
2) "dingdada"

##getset操作
127.0.0.1:6379> getset name1 dingdada1  #先get再set,先获取key,如果没有,set值进去,返回的是get的值
(nil)
127.0.0.1:6379> get name1
"dingdada1"
127.0.0.1:6379> getset name1 dingdada2  ##先获取key,如果有,set(替换)最新的值进去,返回的是get的值
"dingdada1"
127.0.0.1:6379> get name1  #替换成功
"dingdada2"

总结

String是Redis中最常用的一种数据类型,也是Redis中最简单的一种数据类型。首先,表面上它是字符串,但其实他可以灵活的表示字符串、整数、浮点数3种值。Redis会自动的识别这3种值。

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

Redis五大数据类型使用——String 的相关文章

随机推荐

  • java中int[] arr和int arr[]有什么区别

    答 是一样的 跟在变量名后面或者跟在类型后面都可以 int arr 这么写不对的 推荐 int arr 写法
  • nodejs第一个程序

    第一个nodejs程序 1 首先创建一个js文件 命名index js 可随意 然后在文件里面输入 console log Hello World 2 使用 Git Bash Here 打开index js文件 输入指令 node inde
  • Linux--信号量共享内存

    1 基础知识 1 共享内存是最快的IPC形式 一旦这样的内存映射到共享它的进程的地址空间 这些进程间的数据传递不再涉及内核 即进程不再通过执行进入内核的系统调用来传递彼此的数据 2 共享内存的生命周期随内核 3 注意 共享内存未提供任何保护
  • 如何通过代码技巧提升内存使用效率?(内存调优)

    代码层面 IO对象或者数据库的连接对象 使用好后 需要close或clear掉 try 使用Connection或IO等对象 catch Exception 异常处理 finally 关闭对象 当我们使用好对象时 应该把它设为null 这样
  • Kafka——javaAPI

    文章目录 Kafka的JavaAPI 1 未整合版的Kafka的API 1 1 Producer 消息发送端代码 1 2 Consumer 消息消费端代码 2 Spring Boot整合Kafka 2 1 发送者代码 Producer 2
  • Eclipse进行debug

    目录 基本步骤 三种执行方式 键盘快捷键 variables面板 移除debug过的项目 通过eclipse调用具有软件界面的项目进行debug 各个variable颜色具有的意义 基本步骤 点击eclipse右上角debug按钮 调出de
  • Xilinx实习一年总结

    从去年7月4号来到上海xilinx 转眼间已经一年 这一年学了很多知识 也长了很多见识 去年七月一到公司 立即投入到摄像头 DDR HDMI图像通路的研发中 就是在ZEDboard板卡上 通过外置摄像头采集图像 在PL部分将采集的像素数据进
  • 计算机符号链接是什么意思,Windows或Linux上的符号链接(符号链接)完整指南

    想要轻松地从不同的文件夹访问文件夹和文件 而不保留重复的副本 以下是如何使用Symbolic Links链接Windows 10 8 7 Vista XP和Ubuntu中的任何内容 那么什么是符号链接呢 符号链接 也称为符号链接 基本上是高
  • Python开发环境配置

    安装Anaconda Anaconda是Python的一个科学计算发行版 内置了数百个Python经常会使用的库 也包括做机器学习或数据挖掘的库 如Scikit learn NumPy SciPy和Pandas等 其中可能有一些是Tenso
  • YOLOv5行人检测

    YOLOv5行人检测 1 数据准备 1 下载数据集 2 整理出jpg和xml 2 进行YOLOV5的部署训练 1 划分数据集 2 生成yolo的txt文件 3 配置自己数据集的文件 4 聚类找anchors 5 配置模型文件 6 训练模型
  • 如何修复引导/错误代码0xc000000f

    现象 安装完系统后启动时报文件丢失 文件 okldr mbr 或者 scldr mbr 等错误 状态 0xc000000f 处理办法 1 用U盘做一个PE启动盘 可以用 U大侠 小白一键重装等 2 bios启动选项选择U盘启动 3 重启电脑
  • Mysql实战45讲 - 学习笔记

    Sql流程 一条查询语句的执行过程一般是经过连接器 分析器 优化器 执行器等功能模块 最后到达存储引擎 大体来说 MySQL 可以分为 Server 层和存储引擎层两部分 Server 层包括连接器 查询缓存 分析器 优化器 执行器等 涵盖
  • SSM框架整合layui之实现登录功能

    SSM框架整合layui之实现登录功能 代码 UserService接口 UserServiceImpl实现类 SUserMapper接口 SUserMapper xml SystemController login jsp 代码 User
  • 缓存淘汰算法 —— LFU-Aging(Java实现)

    Java实现 用HashMap保存关系 key值 命中次数与上次命中时间 当需要淘汰某个key值时 调用map remove key import java util public class LFUAgingMap
  • 决策树之ID3的matlab实现

    森林内的两条分叉路 我选择了人迹罕见的一条 从此一切变得不一样 佛洛斯特Robert Frost 目录 一 决策树介绍 1 1 相关概念 1 2 图形表示 1 3 规则表示 二 决策树的信息计算 三 ID3相关介绍 3 1 ID3算法概述
  • 超参数和验证集

    感知机是神经网络的基础 对于形式上完全相同的感知机 模型参数不同 可以实现不同的运算 因此 可以通过训练学习模型参数来形成不同的功能 这也是人工神经网络具有强大学习能力的基础 例如下图这个简单得感知机来说 模型参数取不同的值 就实现了不同的
  • 与Android对接注册接口的session会话取值为null问题

    与Android对接注册接口的session会话取值为null问题 问题 最近在改造一个springboot项目时在后端写好登录接口后 Android调用登录成功后 调用其他接口时发现获取session为null 经过swagger一番测试
  • 一次prime1靶场红队渗透实战,从主机发现到Linux内核漏洞提权

    前言 相比于如DVWA pikachu等靶场 完整系统的靶场更突出一个 无目的性 和 复杂性 就好似一个密室逃脱游戏 存在着离谱的漏洞也存在着奇怪的提示 但是真实的渗透测试就是一个无目的的过程 当你在迷宫中走一遭 那么当你下一次遇见复杂的路
  • 1361: [蓝桥杯2018初赛]乘积尾零

    蓝桥杯2018省赛A组第3题 题目链接http oj ecustacm cn problem php id 1361 思路 找出2 5的个数 取最小的即可 include
  • Redis五大数据类型使用——String

    1 String 字符串 添加 查询 追加 获取长度 判断是否存在的操作 C Users 12559 gt redis cli exe 启动redis 127 0 0 1 6379 gt set name kobe 插入一个key为 nam