博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python - hash类型操作
阅读量:6441 次
发布时间:2019-06-23

本文共 2585 字,大约阅读时间需要 8 分钟。

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   : 2017/12/5 22:01# @Author : lijunjiang# @File   : hash.pyimport redisredis_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 rr = conncet_redis()r.hset('hash1', 'test1', 'val_1')print(r.hget('hash1', 'test1'))# val_1r.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'))# 5print(r.hkeys('hash1'))# ['test1', 'k3', 'k2', 'kl', 'k_l']print(r.hvals('hash1'))# ['val_1', 'v3', 'v2', 'v1', 'valu']print(r.hexists('hash1', 'test1'))# Trueprint(r.hexists('hash1', 'test2'))# Falseprint(r.hdel('hash1', 'k1'))# 1print(r.hgetall('hash1'))# {'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'}print(r.hlen('hash1'))# 3#########C:\Python27\python.exe D:/Python/redis/hash.pyval_1['v2', 'v3', 'val_1']{'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'}3['test1', 'k3', 'k2']['val_1', 'v3', 'v2']TrueFalse0{'test1': 'val_1', 'k3': 'v3', 'k2': 'v2'}3Process finished with exit code 0

其它操作

  • 根据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']

转载于:https://www.cnblogs.com/lijunjiang2015/p/7989897.html

你可能感兴趣的文章
一个绘制虚线的非常规函数(常规方法,打印机上绘制不出虚线)
查看>>
获得本机的IP,掩码和网关
查看>>
大数据之 ZooKeeper原理及其在Hadoop和HBase中的应用
查看>>
Delphi中将XML文件数据装入DataSet
查看>>
你刚才在淘宝上买了一件东西
查看>>
发布一个 Linux 下的 C++ 多线程库
查看>>
Python序列类型
查看>>
再谈ThinkPHP
查看>>
Hibernate问题浅析
查看>>
出现访问apache资源直接下载php文件的解决办法-----yum 安装 php mysql
查看>>
七种Mysql表类型
查看>>
归并与归并排序
查看>>
linux和windows互传文件、用户配置文件和密码配置文件、用户组管理、用户管理...
查看>>
spark 应用程序性能优化经验
查看>>
基于Zabbix IPMI监控服务器硬件状况
查看>>
Go语言之并发资源竞争
查看>>
mac本显示隐藏文件或关闭显示隐藏文件
查看>>
spring4.0 整合 Quartz 实现任务调度(一)
查看>>
android复杂布局的一点思路
查看>>
Awesome Python
查看>>