python操作redis

python操作redis

举个例子,就是下面这种

我的账户的津贴的余额,是放在DB0的cashBack里的,每一个key的组成为
渠道id:userid
value则为该账户的余额
在这里插入图片描述

"""
@File    :   MyRedis.py    
@Modify Time      @Author    @Version
------------      -------    --------    
@Desciption:
Hash:是一个键值(key=>value)对集合
String:string 是 redis 最基本的类型,一个 key 对应一个 value。
List:列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)
Set:string 类型的无序集合
zset: zset 和 set 一样也是string类型元素的集合,且不允许重复的成员,不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序,set的成员是唯一的,但分数(score)却可以重复。

至少从我现在的需求来说,大部分时候操作redis都是有指向性的,就是通过数据的拼接,已经可以确定了一条数据,所以我们演示的操作也都是有指向性的
"""

import redis


def get_redis_conn():
    # 获取数据库链接
    r = redis.Redis(host='r-xxx.redis.rds.aliyuncs.com', port=6379, db=0,
                    password='xxx')
    return r


def update_or_add_hash():
    r = get_redis_conn()
    # 注意redis接受的是bytes类型的,所有我们需要转换一下
    name = bytes('cashBack', encoding="utf8")
    platform_type = 10066001
    user_id = 1925051598
    account_float = 202
    key = bytes(f'{platform_type}:{user_id}', encoding="utf8")
    print(f'正在刷入redis的key是{key}')
    # hsetnx(name, key, value) 当name对应的hash中不存在当前key时则创建(相当于添加),res=1则为成功,等于0则为插入失败
    res = r.hsetnx(name, key, account_float)
    if not res:
        print(f"{user_id}在redis中已经存在!")
    r.close()


def insert_hash():
    r = get_redis_conn()
    name = bytes('cashBack', encoding="utf8")
    platform_type = 10066001
    user_id = 1925051598
    account_float = 202
    key = bytes(f'{platform_type}:{user_id}', encoding="utf8")
    print(f'正在刷入redis的key是{key}')
    # hset:没有就新增,有的话就修改,,res=1则为成功,等于0则为插入失败
    res = r.hset(name, key, account_float)
    print(res)
    r.close()

# 删除 hdel(name,*keys)
if __name__ == "__main__":
    update_or_add_hash()

上面的例子中我们将操作封装成了方法,只是为了演示起来方便,但是对于我来说,操作redis的场景并不多,所以一般是将获取redis链接和操作redis放到一起,并不会单独抽象出来。

至于更全的类型更多的操作,我们可以百度搜索“python操作redis”,在菜鸟教程中查看,遇到哪个用哪个就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值