Redis的散列可以将多个键值对存储在一个Redis键里面。可以把这种数据聚集看作是数据库中的行或者文档数据库中的文档。

(添加和删除键值对)

HMGET : HMGET key-name key [key ...]-------------从散列里面获取一个或多个键的值

HMSET : HMSET key-name key value [key value ...]------------从散列里面获取一个或多个键的值

HDEL : HDEL key-name key [key ...] ------------------删除散列里面的一个或多个键值对,返回成功删除的键值对数量

HLEN  : HLEN  key-name -------------------------------返回散列包含的键值对数量

  1. >>> import redis
  2. >>> conn = redis.Redis(host='192.168.146.129',port=6379,db=0)
  3. >>>
  4. >>> conn.hmset('hash-key',{'k1':'v1','k2':'v2','k3':'v3'})
  5. True
  6. >>> conn.hmget('hash-key',['k2','k3'])
  7. ['v2', 'v3']
  8. >>> conn.hlen('hash-key')
  9. 4
  10. >>> conn.hdel('hash-key','k1','k3')
  11. 2
  12. >>> conn.hmget('hash-key',['k2','k3'])
  13. ['v2', None]
  14. >>> conn.hdel('hash-key','k1','k3')
  15. 0

(高级特性)

HEXISTS : HEXITS key-name key ------------------检查给定键是否存在于散列中

HKEYS : HKEYS key-name---------------------------获取散列中包含的所有键

HVALs : HVALS key-name---------------------------获取散列包含的所有值

HGETALL : HGETALL key-name --------------------获取散列包含的所有键值对

HINCRBY : HINCRRBY key-name key increment ---------------将键key存储的值加上整数increment

HINCRBYFLOAT : HINCRBYFLOAT key-name key increment -------------将键key存储的值加上浮点数increment

  1. >>> conn.hmset('hash-key2',{'short':'hello','long':1000*''})
  2. True
  3. >>> conn.zcard('zset-key')
  4. 2
  5. >>> conn.hkeys('hash-key2')
  6. ['long', 'short']
  7. >>> conn.hexists('hash-key2','num')
  8. False
  9. >>> conn.hincrby('hash-key2','num')
  10. 1L
  11. >>> conn.hexists('hash-key2','num')
  12. True
  13. >>> conn.hgetall('hash-key2')
  14. {'short': 'hello', 'num': '', 'long': ''}

Redis散列操作的更多相关文章

  1. Redis散列(Hash)的相关命令

    散列 就像一个减配的Redis 内部及其类似Java的Map 内容就是key:value结构 hash类型在面向对象编程的运用中及其适合,因为它可以直接保存编程语言中的实体类关系 增 hset hse ...

  2. redis 散列学习要点记录

    散列类型键值也是种字典结构,存储了字段和字段值的映射,字段值只能是字符串,不可以是其他类型(redis数据类型都不可嵌套使用其他类型),散列类型键可以有2的32次方减1个字段 散列的命令组  hset ...

  3. StackExchange.Redis帮助类解决方案RedisRepository封装(散列Hash类型数据操作)

    本文版权归博客园和作者本人共同所有,转载和爬虫请注明本系列分享地址:http://www.cnblogs.com/tdws/p/5815735.html 上一篇文章的不合理之处,已经有所修改. 今天分 ...

  4. Redis命令拾遗二(散列类型)

    本文版权归博客园和作者吴双共同所有,欢迎转载,转载和爬虫请注明原文地址 :博客园蜗牛NoSql系列地址  http://www.cnblogs.com/tdws/tag/NoSql/ Redis命令拾 ...

  5. Redis数据类型之散列(hash)

    1. 什么是散列 散列类似于一个字典,是一个<K, V>对的集合,不过这个key和value都只能是字符串类型的,不能嵌套,可以看做Java中的Map<String, String& ...

  6. Redis核心原理与实践--散列类型与字典结构实现原理

    Redis散列类型可以存储一组无序的键值对,它特别适用于存储一个对象数据. > HSET fruit name apple price 7.6 origin china 3 > HGET ...

  7. shiro进行散列算法操作

    shiro最闪亮的四大特征:认证,权限,加密,会话管理 为了提高应用系统的安全性,这里主要关注shiro提供的密码服务模块: 1.加密工具类的熟悉 首先来个结构图,看看shiro提供了哪些加密工具类: ...

  8. HashMap,Hash优化与高效散列

    OverView Hash table based implementation of the Map interface. This implementation provides all of t ...

  9. Python与数据结构[4] -> 散列表[2] -> 开放定址法与再散列的 Python 实现

     开放定址散列法和再散列 目录 开放定址法 再散列 代码实现 1 开放定址散列法 前面利用分离链接法解决了散列表插入冲突的问题,而除了分离链接法外,还可以使用开放定址法来解决散列表的冲突问题. 开放定 ...

随机推荐

  1. Junit测试时,如何截获到Console的输出

    RT: 参考如下Junit 测试代码: 注释部分 import java.io.ByteArrayOutputStream; import java.io.PrintStream; import st ...

  2. 【WEB前端】CSS书写规范

    古语有云:不以规矩,不成方圆.不管是国还是家还是...都得有规矩加以约束.同样,在我们程序猿的代码中也有一定的规矩——W3C标准,但是我今天不会讲那么高深的道理,我只想说说,我近些日子在开发中所总结出 ...

  3. 新建WebAPI项目时遇到的问题

    1   处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler” 以管理员运行下面的命令注册 ...

  4. Spring IOC 容器源码分析 - 填充属性到 bean 原始对象

    1. 简介 本篇文章,我们来一起了解一下 Spring 是如何将配置文件中的属性值填充到 bean 对象中的.我在前面几篇文章中介绍过 Spring 创建 bean 的流程,即 Spring 先通过反 ...

  5. 关于.net core使用nginx做反向代理获取客户端ip的问题

    1.正常情况下.net core获取客户端ip是比较简单的 /// <summary> /// 获取客户Ip /// </summary> /// <param name ...

  6. Nginx负载均衡初识

    1.背景 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外ngi ...

  7. spring cloud学习(二) 调用服务

    spring-cloud调用服务有两种方式,一种是Ribbon+RestTemplate, 另外一种是Feign. Ribbon是一个基于HTTP和TCP客户端的负载均衡器,其实feign也使用了ri ...

  8. ping端口是否开放(windows,macos,linux)

    windows中ping端口:tcping命令 1. tcping 非自带命令,首先安装tcping命令,也可以去官网:http://www.elifulkerson.com/projects/tcp ...

  9. centos7 python2和python3共存

    一.解决Python2 pip问题 在centos7中安装好操作系统,自带的是Python2的版本,但是并没有pip的方法,我们需要自行安装 报名为python-pip # 默认python2的版本 ...

  10. SQLAlchemy的ORM

    表关系: 表之间的关系存在三种:一对一.一对多.多对多.而SQLAlchemy中的ORM也可以模拟这三种关系.因为一对一其实在SQLAlchemy中底层是通过一对多的方式模拟的,所以先来看下一对多的关 ...