首页 > 数据库 >Redis之hash

Redis之hash

时间:2024-06-04 21:36:23浏览次数:17  
标签:127.0 hash 0.1 myhash field1 Redis 6379 integer

Redis 哈希(Hash)
hash的格式也是键值对key:map,只不过他的值是map集合。
key:{key:vlaue}

案例

127.0.0.1:6379> HSET myhash field1 lili                       #set一个具体的key-value 
(integer) 1
127.0.0.1:6379> HGET myhash field1
"lili"
127.0.0.1:6379> HSET myhash field1 hello field2 world         #set多个的key-value 
(integer) 1
127.0.0.1:6379> hmget myhash field1 field2                    #获取多个字段值
1) "hello"
2) "world"

127.0.0.1:6379> HGETALL myhash                                #获取hash中全部的值
1) "field1"
2) "hello"
3) "field2"
4) "world"

127.0.0.1:6379> HDEL myhash field1                            #删除hash指定key字段,同时对应的value也会删除
(integer) 1
127.0.0.1:6379> HGETALL myhash
1) "field2"
2) "world"
  • hlen

127.0.0.1:6379> HGETALL myhash
1) "field2"
2) "world"
3) "field1"
4) "hello"
127.0.0.1:6379> HLEN myhash                                  #获取hash表的字段数量
(integer) 2
127.0.0.1:6379>
  • HEXISTS
127.0.0.1:6379> HEXISTS myhash field1                        #判断hash中的指定字段是否存在
(integer) 1
127.0.0.1:6379> HEXISTS myhash field3
(integer) 0
  • hkeys&hvals
127.0.0.1:6379> hkeys myhash                                #只获取所有的字段
1) "field2"
2) "field1"

127.0.0.1:6379> hvals myhash                                #只获取所有的值
1) "world"
2) "hello"
  • hincrby
127.0.0.1:6379> HSET myhash field3 5                        #指定自增长
(integer) 1
127.0.0.1:6379> hincrby myhash field3 1
(integer) 6
127.0.0.1:6379> hincrby myhash field3 -1
(integer) 5
127.0.0.1:6379> hsetnx myhash field4 hello                  #如果不存在则可以设置
(integer) 1
127.0.0.1:6379> hsetnx myhash field4 world                  #如果存在则不可以设置
(integer) 0
127.0.0.1:6379> HSET user:1 name lili
(integer) 1
127.0.0.1:6379> HGET user:1 name
"lili"

标签:127.0,hash,0.1,myhash,field1,Redis,6379,integer
From: https://www.cnblogs.com/OpenSourceSite/p/18230203

相关文章

  • Redisson 限流器源码分析
    Redisson限流器源码分析对上篇文章网友评论给出问题进行解答:redis的key是否会过期可以先阅读上篇文章:redis+AOP+自定义注解实现接口限流-古渡蓝按-博客园(cnblogs.com)注解AOP代码部分提取//调用Reids工具类的rateLimiter方法longnumber=RedisUtils.rat......
  • Redis 结合 Docker 搭建集群,并整合SpringBoot
    软件版本Redis7.2.5Docker26.1.3 准备工作由于docker直接拉取运行了,所以需要提前准备配置文件Indexof/releases/(redis.io)下载后,把redis-7.2.5.tar.gz\redis-7.2.5.tar\redis-7.2.5\里的redis.confsentinel.conf复制出来 概览结构如上图所示,准备6个服务器。......
  • 基于redis实现可重入分布式锁
    前提redis+lua原理采用redishash数据类型,实现分布式可重入锁hash结构中存储字段value,countvalue:加锁的值,重入加锁时判断当前value和传入的value是否相等,相等情况下认为是重入锁,将count加一,不等属于其他场景抢占锁,该情况下获取锁失败锁释放时,判断value是否相等,相等情况下是......
  • redis限流
    前提redis+lua 滑动窗口--滑动窗口localkey=KEYS[1]localmaxSize=ARGV[1]localcurrentTime=ARGV[2]localstartTime=ARGV[3]localuuid=ARGV[4]localcurrentCount=redis.call('zcount',key,startTime,currentTime)if(currentCountandtonumber......
  • 12- Redis 中的 链表 数据结构
    Redis的List对象的底层实现之一就是链表。C语言本身没有链表这个数据结构,所以Redis自己设计了一个链表数据结构。1.链表节点结构设计先来看看【链表节点】结构的样子:typedefstructlistNode{  //前置节点  structlistNode*prev;  //后置节点 ......
  • CentOS-7.9 安装redis7.0.5步骤
     下载Redis7.0.5的源代码wgethttp://download.redis.io/releases/redis-7.0.5.tar.gz解压并进入源代码目录tarzxfredis-7.0.5.tar.gzcdredis-7.0.5编译和安装,并指定安装目录,并复制Redis配置文件makesudomakePREFIX=/usr/local/redisinstallcpredis.conf......
  • CSRedis用于Redis哨兵模式,NetCore
    十年河东,十年河西,莫欺少年穷学无止境,精益求精上一节通过两台windowsServer服务器部署了Redis的哨兵模式,详情参考:两台windowserver服务器配置Redis哨兵集群----一主二从redis通过主从复制来实现高可用,但是发生故障时需要人工进行主从切换,效率低下。哨兵机制实现了redis主从的自......
  • Conts7 安装Redis教程
    1.添加软件安装源yuminstalleple-release2.安装Redisyuminstallredis-y3.启动redissystemctlstartredis4.允许开机启动systemctlenableredis5.修改redis配置文件vim/ect/redis.conf修改2处文件(虚拟机)6.重启redissystemctlrestartredis7.登陆redis数......
  • redis - [03] 配置&命令
    题记部分 一、配置(Config)  二、命令(Command)(1)启动redis服务:redis-server.exeredis.windows.conf(2)连接redis-server:redis-cli-hhost-pport-apassword(3)查看key是否存在:existsmyKey(4)查看key的值:getmyKey(5)序列化给定key,返回序列化的值(不会改变key的值):dumpmy......
  • JS面试题:hash和history的区别
    一、hash模式和history模式的介绍由于Vue项目为单页面应用,所以整个项目在开发和构建过程中,仅存在一个HTML物理文件。通过路由系统可以实现将项目的组件与可访问的URL路径进行绑定。由于Vue项目只有一个HTML物理文件,切换页面时既需要让访问的URL路径发生变化,又不能触发H......