python - hash类型操作

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

python - hash类型操作的相关文章

33. Python redis的 hash类型操作 其他常用操作

1.hash 类型操作 import redis pool = redis.ConnectionPool(host="192.168.48.131", port=6379, db=0) r = redis.Redis(connection_pool=pool) #hash类型操作:是一个name对应一个字典 #语法 hset(name, key, value) #name 对应的hash中设置一个键值对(不存在,则创建键值对:否则,修改键值对) # 语法参数解释: name: redi

Redis - hash类型操作

hash 类型操作设置操作:hset:    hset key filed value        创建指定key的filed-value名值对hsetnx:    hsetnx key filed value        创建不存在的key的filed-value名值对,已存在则创建失败hmset:    hmset key filed1 value1 filed2 value2    创建key对应的多个filed-valuehdel:    hdel key filed        

redis string和hash类型操作

Redis 的数据类型 String类型及操作 String是最简单的类型,一个Key对应一个Value,sting类型是二进制安全的.Redis的string可以包含任何数据,比如jpg图片或者序列化的对象. 例子: set name gxj get name 输出:gxj Setnx:设置key对应的值为string类型的value,如果key 已经存在,则返回0,nx是not exist的意思. 例子: set name zjz 回车:则返回0,如果不存在,则会设置值 setex: 设置k

Python 基本类型操作

来源:http://blog.csdn.net/yuxinleipp/article/details/7868924 python中类型转换 一.类型转换函数 函数                                           描述 int(x [,base ])         将x转 换为一个整数  (其中base表示基数) long(x [,base ])        将 x转换为一个长整数 float(x )               将 x转换到一个浮点数 c

二:redis 的hash类型相关操作

=====================二种:hash类型================== 介绍:redis -> hash是一个string类型的field和value的映射表 hash特别适合对应存储对象,相较于将对象的每个字段存成单个string类型 将一个对象存储在hash类型中会占用更少的内存,并且可以方便的存取整个对象 0:hset *如果 key(就是hash表) 不存在,一个新的哈希表被创建并进行 HSET 操作 设置hash field为指定值,如果key不存在,则先创建

第二课补充01——redis-cli命令行详解、string类型、list类型、hash类型命令操作详解

一. redis-cli命令行参数 1.-x参数:从标准输入读取一个参数: [问题] [解决] 因为echo命令是默认带有回车\n的,不带回车需要echo –n命令: echo -n "haha"|redis-cli -x set name,从标准输入读入一个参数到redis,就不会有回车符: 2.-r参数:重复执行一个命令指定的次数: -i参数:设置命令执行的间隔: 例子:每隔1秒执行一次,一共执行3次info命令 3.-rdb文件:获取指定redis实例的rdb文件,保存到本地 可

Redis学习第二课:Redis Hash类型及操作

Redis hash是一个string类型的field和value的映射表.它的添加.删除操作都是O(1)(平均).hash特别适用于存储对象.相较于对象的每个字段存在单个string类型.将一个对象存储在hash类型中会占用更小的内存,并且可以更方便的存取整个对象. hset:设置hash field为指定值,如果key不存在,则先创建. hget:获取指定的hash field. 127.0.0.1:6379>hset user:001 name Tom (integer)1 127.0.0

Python列表类型及常用操作

Python列表类型 1.用途: 存放多个值,可以根据索引存取值 2.定义方式: 在[ ]内用逗号分割开多个任意类型的值 l=['yven','law','lyf'] #l=list(['yven','law','lyf']) list方法就相当于调用了一个for循环,依次取值放入列表,列表内的元素可以为任意的数据类型 3.常用操作极其内置方法 掌握优先级最高: 1.按照索引取值(正向取,反向取):既能取值也能改值 例如: 执行结果: 2.切片(顾头不顾尾):可以取出列表的部分元素,和实现列表反

Python语言基础与应用 (P23)上机练习:容器类型操作(未完待续)

上机练习:容器类型操作〉 列表.元组基本操作+, *, len(), [], in 1 Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32 2 Type "help", "copyright", "credits" or "license" for more informatio