码迷,mamicode.com
首页 > 编程语言 > 详细

python - hash类型操作

时间:2018-02-07 00:34:33      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:内存   rgs   bsp   mapping   python   检测   roo   类型   sele   

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)
# [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类型操作

标签:内存   rgs   bsp   mapping   python   检测   roo   类型   sele   

原文地址:https://www.cnblogs.com/zhouxinfei/p/8424576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!