redis 操作 之 -Hash

Hash 操作:hash在内存中的存储格式
name hash
n1 ------> k1 -> v1
k2 -> v2
k3 -> v3
hset(name,key,value):name对应的hash中设置一个键值对(不存在,则创建,存在则修改)
name:redis的name
key :name对应hash中的key
value:name对应hash中的value
hsetnx(name,key,value):当name对应的hash中不存在当前key时则创建
举例:
r.hset('info','name','jack')
r.hset('info','age',22)
r.hset('info','id',22323)
print(r.hgetall('info')) # 查看info对应的所有信息,返回字典
print(r.hget('info','age')) # 查看info对应的age的值,返回字符串
print(r.hkeys('info')) # 查看info的所有键,返回列表
print(r.hvals('info')) # 查看info的所有值,返回列表
hmset(name,mapping):在name对应的hash中批量设置键值对
mapping:字典{'k1':'v1','k2':'v2'}
举例:
r.hmset('info',{'name':'jack','age':22,'id':223}) # 批量设置
print(r.hgetall('info')) # 打印所有信息
print(r.hmget('info','name','age')) # 打印对应值

hgetall(name):获取name对应hash的所有键值
hlen(name):获取name对应的hash中键值对的个数
hkeys(name):获取name对应的hash中所有的key
hvals(name):获取name对应的hash中所有的value
hexists(name,key):判断key是否存在
hdel(name,*keys):删除指定name中的keys键值对
hincrby(name,key,amount=1):对name对应的key自增
hscan(name,cursor=0,match=None,count=None):增量式迭代获取,对于数据量大的数据非常有用,hscan可以实现分片的获取数据,
并非一次性将数据获取完毕,
name:redis的name
cursor:游标(基于游标分批获取数据)
match:匹配指定key,默认None,表示所有的key
count:每次分片最少获取个数,默认None表示采用redis的默认分片个数
举例:
r.hmset('info',{'name':'jack','age':22,'id':223})
print(r.hscan('info',cursor=0,match='a*'))
结果输出:(0, {b'age': b'22'})
hscan_iter(name,match=None,count=None):利用yield封装hscan创建生成器,实现分批去redis中获取数据
match:匹配指定key,默认None表示所有key
count:每次分片最少获取个数
r.hmset('info2',{'k1':'v1','k2':'v2','k3':'v3'})
for item in r.hscan('info2',cursor=0,match='k*'):
print(item)
输出:{b'k1': b'v1', b'k2': b'v2', b'k3': b'v3'}

python学习之-- redis模块操作 HASH的更多相关文章

  1. python学习之-- redis模块操作 集合和有序集合

    redis 模块操作之 集合set和有序集合zset Set 集合操作,不允许重复的列表sadd(name,value):name对应的集合中添加元素scard(name):获取name对应的集合中元 ...

  2. python学习之-- redis模块操作 LIST

    redis 模块操作之 List List 操作,在内存中按照一个name对应一个List来存储. lpush(name,values):在name对应的list中添加元素,每个新的元素都添加到列表的 ...

  3. python学习之-- redis模块操作 string

    redis 模块操作之--> String String:redis中的string在内存中按照一个key 对应一个 value来存储. 使用方法如下:set(name, value, ex=N ...

  4. python学习之-- redis模块管道/订阅发布

    redis 模块操作剩余其他常用操作 delete(*names):删除任意的数据类型exists(name):检测redis的name是否存在keys(pattern='*'):根据模型获取redi ...

  5. python学习之-- redis模块基本介绍

    数据缓存系统: 1:mongodb:是直接持久化,直接存储于硬盘的缓存系统 2:redis: 半持久化,存储于内存和硬盘 3:memcache:数据只能存储在内存里的缓存系统关于memcache 学习 ...

  6. Python学习 Part4:模块

    Python学习 Part4:模块 1. 模块是将定义保存在一个文件中的方法,然后在脚本中或解释器的交互实例中使用.模块中的定义可以被导入到其他模块或者main模块. 模块就是一个包含Python定义 ...

  7. Python学习day18-常用模块之NumPy

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  8. python学习之argparse模块

    python学习之argparse模块 一.简介: argparse是python用于解析命令行参数和选项的标准模块,用于代替已经过时的optparse模块.argparse模块的作用是用于解析命令行 ...

  9. redis下操作hash对象

    redis下操作hash对象 hash用于存储对象,对象的格式为键值对 命令 设置 设置单个属性 HSET key field value 设置多个属性 HMSET key field value [ ...

随机推荐

  1. array_keys

    <?php$array = array(0 => 100, "color" => "red");print_r(array_keys($arr ...

  2. Redhat5 安装序列号及版本说明

    为了保证安装的组件和订阅相匹配,红帽企业 Linux 5 需要输入一个安装号.它被用来配置安装程序来提供正确的软件包.安装号码包含在你的订阅里. 如果您没有输入安装号码,只有核心服务器或 Deskto ...

  3. windows安装tensorflow的一个教训

    今天没什么课,然后就准备安装tensorflow. 看了一下教程,就去做了. 然后就犯了错误.网上的教程还是有一些差异的,而我又比较大意,没有很注意到CUDA,cudnn的版本要求,也过于高估自己cp ...

  4. es6数组新特性

    1.Array.from 从类数组和可遍历对象中创建Array的实例 类数组对象包括:函数中的arguments.由document.getElementsByTagName()返回的nodeList ...

  5. QT_仅仅直接在构造函数中创建对象的不可行的原因

    #include "mainwidget.h" #include <QApplication> int main(int argc, char *argv[]) { Q ...

  6. 【转】解决WPF图片模糊最佳方法(绑定PixelWidth与PixelHeight)

    解决WPF图片模糊最佳方法(绑定PixelWidth与PixelHeight) 转载自:http://www.360doc.com/content/13/1126/09/10504424_332211 ...

  7. OpenCV2:第五章 访问图像

    一.行/列访问 1.单行/单列访问 Mat Mat::row(int i) const Mat Mat::col(int j) const 2.多行/多列访问 Range(start,end); Ra ...

  8. Python---哈夫曼树---Huffman Tree

    今天要讲的是天才哈夫曼的哈夫曼编码,这是树形数据结构的一个典型应用. !!!敲黑板!!!哈夫曼树的构建以及编码方式将是我们的学习重点. 老方式,代码+解释,手把手教你Python完成哈夫曼编码的全过程 ...

  9. [LUOGU] P2187 小Z的笔记

    看范围猜方程,应该是O(n)级别的 f[i]表示前i个合法的最小代价,转移需要枚举断点位置,O(n^2) f[i]表示前i个合法留下的最大个数,同时更新距离最近的26个字母的位置,O(n)转移 f[i ...

  10. phpStrom+xdebug调试php

    1>xdebug下载 1.1>xdebug官网可以根据phpinfo()源代码来提供对应版本的xdebug,地址:https://xdebug.org/wizard.php 如下截图 1. ...