Redis在内存中存储hash类型是以name对应一个字典形式存储的
常用操作
在name对应的hash中获取根据key获取value
hget(name,key)
在name 对应的hash 中设备键值对
hset(name, key, value)
在name对应的hash中批量设置键值对
hmset(name, mapping)
在name对应的hash中获取多个key的值
hmget(name, keys, *args)
获取name对应hash的所有键值
hgetall(name)
获取name对应的hash中键值的个数
hlen(name)
获取name对应的hash中所有的key的值
hkeys(name)
获取name对应的hash中所有的value的值
hvals(name)
检查name对应的hash是否存在当前传入的key
hexists(name, key)
将name对应的hash中指定key的键值对删除
hdel(name, *keys)
#!/usr/bin/env python # -*- coding:utf-8 -*- # @Time : # @Author : # @File : hash.py import redis redis_info = { 'host': '11.11.11.11', 'port': 6379 } def conncet_redis(): pool = redis.ConnectionPool(**redis_info) try: r = redis.Redis(connection_pool=pool) except Exception as err: raise err return r r = conncet_redis() r.hset('hash1', 'test1', 'val_1') print(r.hget('hash1', 'test1')) # val_1 r.hmset('hash1',{'k2':'v2', 'k3':'v3'}) print(r.hmget('hash1', ['k2', 'k3', 'test1'])) # ['v2', 'v3', 'val_1'] print(r.hgetall('hash1')) # {'test1': 'val_1', 'k3': 'v3', 'kl': 'v1', 'k_l': 'valu', 'k2': 'v2'} print(r.hlen('hash1')) print(r.hkeys('hash1')) # ['test1', 'k3', 'k2', 'kl', 'k_l'] print(r.hvals('hash1')) # ['val_1', 'v3', 'v2', 'v1', 'valu'] print(r.hexists('hash1', 'test1')) # True print(r.hexists('hash1', 'test2')) # False print(r.hdel('hash1', 'k1')) print(r.hgetall('hash1')) # {'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'} print(r.hlen('hash1'))
其它操作
根据name删除redis中的任意数据类型
delete(*names)
检测redis的name是否存在
exists(name)
根据* ?等通配符匹配获取redis的name
keys(pattern='*')
为某个name设置超时时间
expire(name ,time)
重命名
rename(src, dst)
将redis的某个值移动到指定的db下
move(name, db))
获取name对应值的类型
type(name)
_keys = r.keys() print(_keys) # ['set_2', 'set_tmp', 'set_3', 'set_name', 'hash1'] r.delete('set_2') _keys = r.keys() print(_keys) # ['set_tmp', 'set_3', 'set_name', 'hash1'] print(r.keys(pattern= 'set_2')) # [] r.move('hash1', 1) # [root@Node1 src]# ./redis-cli # 127.0.0.1:6379> keys * # 1) "set_tmp" # 2) "set_3" # 3) "set_name" # 127.0.0.1:6379> select 1 # OK # 127.0.0.1:6379[1]> keys * # 1) "hash1" # 127.0.0.1:6379[1]> r.rename('set_now','set_tmp') _keys = r.keys() print(_keys) r.rename('set_tmp', 'set_now') _keys = r.keys() print(_keys) # ['set_tmp', 'set_3', 'set_name', 'hash1'] # ['set_now', 'set_3', 'set_name', 'hash1']
python - hash类型操作的更多相关文章
-
Redis - hash类型操作
hash 类型操作设置操作:hset: hset key filed value 创建指定key的filed-value名值对 hsetnx: hsetnx key file ...
-
Redis之Hash类型操作
接口IRedisDaoHash: package com.net.test.redis.base.dao; import com.net.test.redis.base.entity.UserPsg; ...
-
Python基本类型操作
# str = "2017.1.1.wmv" # #print(str[str.rfind('.'):]) # #print(str.count(".")) # ...
-
Redis hash 类型及操作
原文:http://blog.sina.com.cn/s/blog_5f044a4d0102v01k.html Redis hash是一个string类型的field和value的映射表.它的添加.删 ...
-
Redis学习第三课:Redis Hash类型及操作
Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适用于存储对象.相较于对象的每个字段存在单个string类型.将一个对象 ...
-
redis的Hash类型以及其操作
hashes类型 hashes类型及操作Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是0(1)(平均).hash特别适合用于存储对象.相较于将对象的 ...
-
第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解
一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "ha ...
-
Python列表类型及常用操作
Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven', ...
-
二:redis 的hash类型相关操作
=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash ...
随机推荐
-
Linux CentOS安装postgresql 9.4
一.前言 PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统.Windows.Solaris.BSD和Mac OS X.PostgreSQL遵循P ...
-
Flex:自定义滚动条样式/隐藏上下箭头
Flex组件自定义滚动条的实现 .scrollBar{ downArrowUpSkin:Embed(source="img/mainLeftScrollBar/bar_bottom.png& ...
-
在spring中获取代理对象代理的目标对象工具类
昨天晚上一哥们需要获取代理对象的目标对象,查找了文档发现没有相应的工具类,因此自己写了一个分享给大家.能获取JDK动态代理/CGLIB代理对象代理的目标对象. 问题描述:: 我现在遇到个棘手的问题,要 ...
-
PHP文件处理类
/** * 文件读写类 * 读取时,支持跳过N个/行字符然后再读取M个/行字符 * 支持每次读取时使用回调函数 * * 示例: * $file = new File('a.txt', 'r'); * ...
-
MySQL优化—工欲善其事,必先利其器之EXPLAIN
最近慢慢接触MySQL,了解如何优化它也迫在眉睫了,话说工欲善其事,必先利其器.最近我就打算了解下几个优化MySQL中经常用到的工具.今天就简单介绍下EXPLAIN. 内容导航 id select_t ...
-
Myeclipse+selenium2.0+Junit+TestNg环境搭建
这周末把自动化的环境搭好了,在网上也百度了很多,现在分享下,希望大家少走一点歪路. 需要用到的安装包都在这个里面,自取: 链接:https://pan.baidu.com/s/10ohf757ztgN ...
-
Beta冲刺(5/7)
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(5/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 ppt制作中 数据集标注 接下来的计划 制作p ...
-
2019-04-20 Python之科学计算库学习总结
一.numpy库和matplotlib库的学习 (1)numpy库介绍:科学计算包,支持N维数组运算.处理大型矩阵.成熟的广播函数库.矢量运算.线性代数.傅里叶变换.随机数生成,并可与C++/Fort ...
-
datetime库运用
1. date(),time(),datetime() 时间数据概用: 2. datetime.datetime.now() 获取当前时间 datetime.datetime.utcnow() 获取格 ...
-
Selenium基础知识(八)文本域处理textarea
textarea文本域selenium有时处理不了,但是我们可以采用迂回,解决这个问题 那么,我们用到了execute_script()方法来调用javascript来解决这个问题 这其中涉及DOM, ...