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 -------------------------------返回散列包含的键值对数量

>>> import redis
>>> conn = redis.Redis(host='192.168.146.129',port=6379,db=0)
>>>
>>> conn.hmset('hash-key',{'k1':'v1','k2':'v2','k3':'v3'})
True
>>> conn.hmget('hash-key',['k2','k3'])
['v2', 'v3']
>>> conn.hlen('hash-key')
4
>>> conn.hdel('hash-key','k1','k3')
2
>>> conn.hmget('hash-key',['k2','k3'])
['v2', None]
>>> conn.hdel('hash-key','k1','k3')
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

>>> conn.hmset('hash-key2',{'short':'hello','long':1000*''})
True
>>> conn.zcard('zset-key')
2
>>> conn.hkeys('hash-key2')
['long', 'short']
>>> conn.hexists('hash-key2','num')
False
>>> conn.hincrby('hash-key2','num')
1L
>>> conn.hexists('hash-key2','num')
True
>>> conn.hgetall('hash-key2')
{'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. ECCV 2016 paper list

    摘录ECCV2016部分文章,主要有Human pose esimation,  Human activiity / actions, Face alignment, Face detection & ...

  2. 用光的微粒说和广义相对论来解释衍射现象 Explanation of Diffraction Phenomenon by Particle Theory of Light and General Relativity

    历史上,物理学是用波动说来解释光的衍射现象.但用微粒说结合广义相对论同样可以做到. 把光看作粒子,当经过障碍物边缘时,由于广义相对论效应,边缘附近的空间被弯曲,使得不同路径的平行光发生偏转,落在障碍物 ...

  3. .NET高级代码审计(第三课)Fastjson反序列化漏洞

    0X00 前言 Java中的Fastjson曾经爆出了多个反序列化漏洞和Bypass版本,而在.Net领域也有一个Fastjson的库,作者官宣这是一个读写Json效率最高的的.Net 组件,使用内置 ...

  4. C# windform 使用TreeGridView

    1 下载 treeGridView.DLL库文件. 2 添加到工程中. 右键“工具箱”选择“选择项” 弹出对话框 选择“浏览” 选中下载还的dll库文件.完成后工具箱中会有 treeGridView控 ...

  5. WPF---DataGrid设置列的百分比宽度 & 列值显示格式化

    <DataGrid Height="Auto" Width="Auto"> <DataGrid.Columns> <DataGri ...

  6. AngularJs从数据库获取数据并显示

    哈哈,昨天下午和今天早上,花上一些时间,学习AngularJs,仅是粗略预览一下.很好,非常好. 由于手上有开发ASP.NET MVC环境,就在这测试下,去数据库获取数据并显示数据. 数据库表创建,添 ...

  7. 【文文殿下】 [SDOI2013]保护出题人 题解

    题解 我们把伤害-时间图像画出来.然后维护一下僵尸血量的前缀和.最好情况肯定是有一个僵尸恰好死在戴夫家门口.我们把原点到其他n个点的斜率最大的一个累积到答案. 发现每添加一个点,其他所有点的坐标都变了 ...

  8. 02_python_while循环/格式化输出/逻辑运算

    一. while循环 1.基本形式 while 条件: 循环体 # 判断条件是否为真,如果真,执行代码块.然后再次判断条件是否为真.如果真继续执行代码块...直到条件变成了假.循环退出 ps:死循环 ...

  9. JSX 和 template 随想

    就目前而言,我用到的前端页面开发框架主要有两种:以JSX为主的react和以template为主的vue. 虽然这两种方式各有千秋,但我其实更偏爱template多一些.为什么? 相较于灵活的JSX, ...

  10. Mahout使用(一)

    1.HelloMahout.java2.DistanceTest.java3.MahoutDemo.java 1.HelloMahout.java package cn.crxy.mahout; im ...