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‘)) # 5 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‘)) # 1 print(r.hgetall(‘hash1‘)) # {‘test1‘: ‘val_1‘, ‘k3‘: ‘v3‘, ‘k2‘: ‘v2‘} print(r.hlen(‘hash1‘)) # 3
其它操作
根据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) # [[email protected] 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/zhouxinfei/p/8424576.html
时间: 2024-10-14 08:14:31