我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Redis数据类型string和Hash怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Redis数据类型string和Hash怎么用

这篇文章给大家分享的是有关Redis数据类型string和Hash怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

String类型命令操作

String类型是在Redis中最常用的数据类型,它也是很多程序员在日常开发中最常使用甚至只会用的数据类型,这也就导致很多人在使用Redis的时候,就只知道使用string类型,而忽视了其他数据类型的重要性。所以我也希望大家在学习完这篇文章之后,对Redis中的数据类型有一个新的认识,不要只使用String类型进行Redis的操作啦!

注意:在Redis的客户端中进行操作之前,一定要保证Redis的服务器界面处于开启状态,否则会出现客户端拒绝访问或打不开的情况哈!

设置指定key的值

Redis中给string类型的数据设置指定key的方法就是最基本的设置key-value的方法,

语法如下:

SET key value    key为索引    value为对应的值

例如我们要设置索引为k3,值为v3的键值对数据

127.0.0.1:6379> SET k3 v3OK

返回值为ok,则说明设置成功!

获取指定key的值

如果我们已经在Redis中设置了数据,那么我们可以通过该数据的key来获取它,语法格式如下:

GET key    key为要获取的值对应的索引

例如我们获取刚才输入的索引为k3,值为v3的数据,如果该索引存在,那么将会返回对应的值,如果不存在就会返回(nil)也就是null的意思。

127.0.0.1:6379> GET k3"v3"127.0.0.1:6379> GET k4(nil)

返回key中字符串值的子串

这个命令的作用是获取Redis中已经存在的字符串的子串,同时我们可以指定一个下标索引,指定要获取哪一段字符。命令的格式如下:

GETRANGE key start end    key为字符串的索引    start为截取的起始下标    end为截取的终止下标

比如我们截取索引为“mykey”,值为“huixiaoyuan”的数据的子串,

127.0.0.1:6379> GETRANGE mykey 2 5"ixia"127.0.0.1:6379> GETRANGE mykey 2 -1"ixiaoyuan"127.0.0.1:6379> GETRANGE mykey 1 100"uixiaoyuan"

讲解一下上面的代码,因为字符串的起始下标是0,所以第2个对应的字符是“i”,如果想要截取字符串从某一个字符到最后部分的子串,那么可以直接将最后一个参数设置为-1.

如果你设置的获取子串的范围比较大,已经超出了字符串原本的长度,那么只会返回到字符串的最后一个字符!

获取多个给定key的值

与GET命令不同,GET命令只能获取一个key对应的值,而这个命令可以用于获取多个key对应的值,格式如下:

MGET key1 [key2...]    在MGET的后面可以追加多个索引,以空格分开

如我们来获取一下mykey、mykey1、mykey2分别对应的值,

127.0.0.1:6379> MGET mykey mykey1 mykey21) "huixiaoyuan"2) "value1"3) "value2"

返回key所对应的字符串的长度

这个命令的作用是获取到当前索引对应的字符串的长度,格式如下:

STRLEN key    key为字符串对应的索引127.0.0.1:6379> STRLEN mykey(integer) 11

设置一个或多个键值对

我们知道SET命令的作用是设置一个键值对,但是如果有多个键值对同时设置呢?这个时候就可以使用这个命令了,格式如下:

MSET key1 value1 [key2 value2 ...]    key1 value1为要设置的第一个键值对,之后的以空格分隔

如下我们设置同时设置三个键值对

127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3OK

和上面这个命令相对的还有一个,该命令仅能在key不存在的情况下才能设置,否则所有的key-value都将会赋值失败,格式如下:

MSETNX key1 value1 [key2 value2 ...]    key1 value1为要设置的第一个键值对,之后的以空格分隔

如我们给已经存在的k4设置值,那么返回0,说明设置失败,如果设置成功,则会返回1

127.0.0.1:6379> MSETNX k1 v1 k4 v4(integer) 0127.0.0.1:6379> MSETNX k4 v4 k5 v5(integer) 1

将key中所存储的数值加一

这个命令可以将我们存储的字符的值加1,之后返回相加后的结果,但是如果该key对应的字符不是一个数的话,就会返回一个错误信息,格式如下:

INCR key    key为要加1的数对应的索引

如下我们给刚才设置的k8加1,那么就会报错,重新设置一个数值的键值对,再进行加1,就可以返回对应的数据

127.0.0.1:6379> INCR k8(error) ERR value is not an integer or out of range127.0.0.1:6379> SET num1 10OK127.0.0.1:6379> INCR num1(integer) 11

与INCR 命令对应的还有一个INCRBY 该命令可以给指定的key对应的数据加上指定的增量,格式如下:

INCRBY key increment    key为索引    increment为要增加的值127.0.0.1:6379> INCRBY num1 5(integer) 16

将key中所存储的数值减一

既然存在增加的操作,那么对应着也就是存在减少的操作,格式如下:

DECR key    key为要加1的数对应的索引

上一步我们将num1对应的数值加5后得到16,现在我们对其进行减一操作。

127.0.0.1:6379> DECR num1(integer) 15

与这个命令对应的还有减指定的数据的命令,格式如下:

DECRBY key increment    key为索引    decrement为要增加的值127.0.0.1:6379> DECRBY num1 2(integer) 13

字符串追加

如果 key 已经存在并且是一个字符串, APPEND 命令将指定的 value 追加到该 key 原来值(value)的末尾。返回的是追加后的长度,格式如下:

APPEND key value    key为索引    value为要追加的字符串

如我们在mykey1-value1的后面追加“hello”

127.0.0.1:6379> APPEND mykey1 hello(integer) 11127.0.0.1:6379> GET mykey1"value1hello"

Hash类型

Hash类型是一个String类型的field(字段)和value(值)的映射表,它的作用是可以用来存储我们定义的数据对象,所以简单来说它是一个key下面存储了多个key-value的情况,给大家简单的话一个Hash的结构图:

Redis数据类型string和Hash怎么用

接下来我们来简单讲一下在Redis中对于Hash这种数据类型,常用的几个命令,

设置一个Hash数据

设置Hash数据所使用的命令不是SET,而是HMSET,你可以理解为H代表Hash的意思,M代表Map的意思,该命令的格式如下:

HMSET key fieId1 value1 [fieId2 value2…]

  • key为这个Hash数据对应的唯一性索引

  • field为下面存储的一个键值对的键

  • value为该键对应的值

如我们设置key为“myhash”,里面存储的field分别为name-huixiaoyuan、sex-nan、age-3的三个键值对

127.0.0.1:6379> HMSET myhash name huixiaoyuan sex nan age 3OK

获取指定哈希表中所有的字段和值

查看指定哈希表中所有的字段和值的命令是HGETALL,作用是取出该hash中所有的数据,格式如下

HGETALL key

  • 其中key为对应着这个Hash数据的索引

如我们查看刚才设置的hash数据

127.0.0.1:6379> HGETALL myhash1) "name"2) "huixiaoyuan"3) "sex"4) "nan"5) "age"6) "3"

获取存储在哈希表中指定字段的值

上一个命令是获取所有的字段,那么现在这个命令是只获取指定哈希表中指定字段的值,命令的格式如下:

HGET key field

  • key哈希表的索引

  • field获取的值对应的字段

如我们获取上面的哈希表中字段为name对应的值

127.0.0.1:6379> HGET myhash name"huixiaoyuan"

删除一个或多个哈希表字段

删除一个或多个哈希表字段的命令是HDEL,该命令可以删除指定哈希表中指定的字段,以及其对应的值,格式如下:

HDEL key field1 [field2…]

  • key为指定的哈希表的索引

  • field为要删除的值对应的字段,如果要删除多个就以空格分开

如我们要删除索引为“myhash”的哈希表中值为“3”,对应字段为“age”的字段和值为“nan”,对应字段为“sex”的两个字段。

127.0.0.1:6379> HGET myhash name"huixiaoyuan"127.0.0.1:6379> HDEL myhash age sex(integer) 2127.0.0.1:6379> HGETALL myhash1) "name"2) "huixiaoyuan"

获取哈希表中字段的数量

该命令可以获取指定哈希表中字段的数量,格式如下:

HLEN key

  • key为指定的哈希表的索引

127.0.0.1:6379> HLEN myhash(integer) 1

获取哈希表中的所有字段

该命令可以获取指定哈希表中所有的字段,但是不返回字段对应的值,格式如下:

HKEYS key

  • key为指定的哈希表的索引

127.0.0.1:6379> HKEYS myhash1) "name"

获取哈希表中所有的值

上一个命令是获取到指定哈希表中所有的字段,但是不返回字段对应的值,那么这个命令就是获取到所有的值,而不返回其对应的字段,格式如下:

HVALS key

  • key为指定的哈希表的索引

127.0.0.1:6379> HVALS myhash1) "huixiaoyuan"

感谢各位的阅读!关于“Redis数据类型string和Hash怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Redis数据类型string和Hash怎么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis数据类型string和Hash怎么用

这篇文章给大家分享的是有关Redis数据类型string和Hash怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。String类型命令操作String类型是在Redis中最常用的数据类型,它也是很多程序员在日
2023-06-29

redis中hash数据类型

remoteSelf:1>hset website google "www.google.com""1"remoteSelf:1>hget website"ERR wrong number of arguments for 'hget' command"rem
redis中hash数据类型
2021-09-09

Redis String 类型和 Hash 类型学习笔记与总结

Linux 版本信息:cat /etc/issue 或cat /etc/redhat-release(Linux查看版本当前操作系统发行版信息) CentOS release 6.6 (Final)(一)String 类型 【定义】str
2022-06-04

Redis教程(二):String数据类型

一、概述:字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512
2022-06-04

Redis中的Hash类型是用来存储什么样的数据

Redis中的Hash类型是用来存储键值对的数据结构,其中每个键都对应一个哈希表,哈希表中存储了多个键值对。这种数据结构适用于存储对象的字段和值,如存储用户信息、商品信息等。可以通过Hash类型实现对对象的部分字段更新或查询。
Redis中的Hash类型是用来存储什么样的数据
2024-04-09

VB.NET中String数据类型怎么用

这篇文章主要介绍VB.NET中String数据类型怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果一个变量总是存储诸如“我是中国人”之类的字符串而不包含3.1415926这样的数值,则可将其声明为String
2023-06-17

C#中数据类型string怎么用

这篇文章主要为大家展示了“C#中数据类型string怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中数据类型string怎么用”这篇文章吧。string是各种编程语言中最基础的数据类型
2023-06-17

Redis中String数据类型实例分析

本文小编为大家详细介绍“Redis中String数据类型实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Redis中String数据类型实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概述:字符串类
2023-06-29

java怎么redis取数据类型

Java通过Jedis获取Redis数据类型简介Redis是广泛使用的键值对数据库,支持多种数据类型。JavaJedis客户端提供了便捷的方法来获取这些类型。Jedis的get方法get方法获取指定键的值,返回Object类型,可根据键类型转换为Java类型。确定数据类型type方法返回字符串表示键类型。常见数据类型Redis支持多种类型,包括字符串、列表、集合、散列和有序集合。获取特定类型的值根据类型使用特定方法获取值:字符串:get列表:lrange集合:smembers散列:hget有序集合:zra
java怎么redis取数据类型
2024-04-02

redis怎么更改数据类型

在Redis中,可以使用以下命令更改数据类型:1. `SET key value`:将键 key 的值设置为 value,如果键 key 不存在,则创建新的键值对。2. `GETSET key value`:设置键 key 的值为 valu
2023-08-30

Redis基本数据类型哈希Hash常用操作实例分析

这篇文章主要介绍了Redis基本数据类型哈希Hash常用操作实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis基本数据类型哈希Hash常用操作实例分析文章都会有所收获,下面我们一起来看看吧。Red
2023-06-30

Redis02 使用Redis数据库(String类型)全面解析

一 String类型首先使用启动服务器进程 :redis-server.exe 1. Set设置Key对应的值为String 类型的value。例子:向 Redis数据库中插入一条数据类型为String 的记录。在客户端输入命令:C:sof
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录