首页 > 数据库 >[转]Redis干货 | 五种常用类型之String字符串详解

[转]Redis干货 | 五种常用类型之String字符串详解

时间:2023-02-28 09:45:42浏览次数:47  
标签:65.15 String get age Redis 192.168 6379 干货 name

一. 背景说明

小白:伟哥,java中String是最常用类型,Redis中也是吗?

伟哥:差不多,我给你稍微讲一下。

二. 数据类型

依据Redis官网,目前Redis数据类型共计九种。

图片

具体整理如下:

图片

常用的数据类型有:String、List、Set、Sorted set、Hash,在接下来的学习中,伟哥将介绍这五种类型的用法。

三. String-概述

String字符串是最基本的Redis数据类型,可以是字符串,包括json串,可以是数字,可以是图片二进制等,存储最大不超过512M。

图片

四. String-设值和取值

图片

Redis给我们提供的设值和取值命令,主要是set和get:

伟哥带你操作一波:

#设置值的命令 set key value
192.168.65.15:6379> set name zs
#操作成功,返回ok
OK

#获取用 get key
192.168.65.15:6379> get name
#get 成功则返回value值
"zs"

#get 若没有对应的key,则返回nil空
192.168.65.15:6379> get name1
(nil)
#批量设置值 mset key1 value1 key2 value2 ......
192.168.65.15:6379> mset name zs age 22
#操作成功,返回ok
OK

#批量获取值mget key1 key2 ......
192.168.65.15:6379> mget name age
#成功,则按获取顺序展示值
1) "zs"
2) "22"

#如果对应的key没有值,则返回nil
192.168.65.15:6379> mget name1 age
1) (nil)
2) "22"

五. String-操作补充

图片

添加字符串之后,我们可通过append追加内容,通过strlen获取字符串的长度,通过getrange截取字符串。

#具体操作过程如下: 
 #设置值
192.168.65.15:6379> set name zs  
#set成功返回
OK  

#获取值
192.168.65.15:6379> get name  
"zs"

#获取字符串的长度
192.168.65.15:6379> strlen name 
(integer) 2

#给name原对应的值追加ls
192.168.65.15:6379> append name ls  
#append追加成功后,返回字符串的总长度
(integer) 4  

192.168.65.15:6379> get name
"zsls"

#截取下标0-2的字符串
192.168.65.15:6379> getrange name 0 2  
"zsl"

#追加内容  中文:你好 
192.168.65.15:6379> append name 你好 
#一个中文占3个长度
(integer) 10  

六. String-数值增加减少操作

图片

如果value值表示数值时,可以对其value值进行增加和减少操作:

具体操作如下:

 #如果age不存在,则添加成1
192.168.65.15:6379> incr  age 
(integer) 1
192.168.65.15:6379> get age
"1"

#修改age值成1.1
192.168.65.15:6379> set age 1.1  
OK

#如果age的值为小数,则报错
192.168.65.15:6379> incr age 
(error) ERR value is not an integer or out of range

192.168.65.15:6379> set age 1 
OK

#整数增加5
192.168.65.15:6379> incrby age 5 
(integer) 6
192.168.65.15:6379> get age
"6"

 #incrby 只能增加整数,小数会报错
192.168.65.15:6379> incrby age 5.5 
(error) ERR value is not an integer or out of range

 #自减1
192.168.65.15:6379> decr age 
(integer) 5

 #age值减少2
192.168.65.15:6379> decrby age 2 
(integer) 3

 #用incrbyfloat来操作小数
192.168.65.15:6379> incrbyfloat age 1.1 
"4.1"

#用incrbyfloat来操作小数
192.168.65.15:6379> incrbyfloat age -1.1  
"3"

转自:Java架构栈

标签:65.15,String,get,age,Redis,192.168,6379,干货,name
From: https://www.cnblogs.com/xudong1990/p/17162802.html

相关文章

  • windows下安装redis7
    一、下载地址:https://github.com/zkteco-home/redis-windows 二、解压到电脑指定目录并注册为服务管理员方式打开cmd,进入到解压到的目录,执行redis-server--service-......
  • test redis
     importredisr=redis.StrictRedis(host='localhost',port=6379,db=0)r.set('test1','test1')value1=r.get('car')print(value1)all_keys=r.keys()pri......
  • 使用redis锁还是出现同步问题
    一种可能是,2台机器同时访问,一台访问,还没有把锁设置过去的时候,另一台也查不到就会出现这个问题。解决方法这我跟写代码的方式有关。先查,如果不存在就set,这种方式有极微小的可......
  • #yyds干货盘点#【愚公系列】2023年02月 .NET/C#知识点-程序运行计时的总结
    前言在分析一个程序算法时间复杂度时,可以使用统计程序或程序片段的计算时间有助于理解程序性质,许多语言或系统都提供了内部计时功能。下面主要是讲解C#中的计时方式:Stop......
  • #yyds干货盘点# LeetCode面试题:串联所有单词的子串
    1.简述:给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串长度相同。 s 中的串联子串是指一个包含 words 中所有字符串以任意顺序排列连接起来的......
  • redis笔记一
    配置starter,当前boot版本2.5.31、引入依赖pom.xml:<!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-da......
  • 理论:第四章:Redis支持的数据类型以及使用场景,持久化,哨兵机制,缓存雪崩,缓存穿透,双删策略
    简单介绍一个redis?redis是内存中的数据结构存储系统,一个key-value类型的非关系型数据库,可持久化的数据库,相对于关系型数据库(数据主要存在硬盘中),性能高,因此我们一般用redis......
  • springboot中redis使用和工具
    application.properties#Redis相关配置spring.data.redis.host=localhost#端口spring.data.redis.port=6379#reids数据库索引spring.data.redis.database=0Red......
  • #yyds干货盘点# LeetCode面试题:下一个排列
    1.简述:整数数组的一个排列 就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的......
  • #yyds干货盘点# LeetCode面试题:最长有效括号
    1.简述:给你一个只包含'(' 和')' 的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例1:输入:s="(()"输出:2解释:最长有效括号子串是"()"示例2:输入:s=")()())"......