【python + Redis】hash值查增删

前置步骤

pip install redis
# -*- coding: utf-8 -*-
import redis
#这个redis不能用,请根据自己的需要修改
r =redis.Redis(host="127.0.0.1",port=6379,password="123456", db=0)

Redis库数据

keyvalue
1{“id”: 1, “name”: “xxx”, “age”: “18”, “sex”: “\u7537”}
2{“id”: 2, “name”: “xxx”, “age”: “15”, “sex”: “\u5973”}
3{“id”: 3, “name”: “xxx”, “age”: “18”, “sex”: “\u7537”}

一、查

1.定义列表list_r1,存储查询到的数据
2.定义data,用r.hgetall方法获取哈希表的所有字段和值,
3.循环遍历出行数据,转成字典类型
4.最后用if all方法将库中字段与之相匹配的数据查出,添入list_r1

# hash查
def get_hv(redis_name,params):
    list_r1 = []
    data=r.hgetall(redis_name)
    for k,v in data.items():
        row_data = json.loads(v.decode('utf-8'))
        if all(row_data.get(key,False)==val for key,val in params.items()):
            list_r1.append(row_data)
    print("list_r1:",list_r1)
    return list_r1

二、增

1.params[“id”]要与Mysql数据库中的自增id相同
2.这里用到了r.hset方法,格式为: r.hset(表名,key,value)
3.注意value不能使用字典类型,我们需要用json.dumps转字符串

# hash增
def set_hv(hash,params):
    if params.get("id",False):
        r.hset(hash,params["id"],json.dumps(params))
    return True

三、删

# hash删
def del_hv(hash,params):
    if params.get("id",False):
        r.hdel(hash,params["id"],json.dumps(params))
        return True
    else:
        return False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值