Python——Redis【位图】的简单使用

好久不见啊!都2021了。。。

今天主要是记录一篇Redis相关的文章!因为是Flask项目,所以先看一下Flask如何使用Redis?

先安装 redis 模块

pip install redis==3.3.11

一般项目会带requirements.txt文件,所以可添加redis==3.3.11,随便列一下相关操作

pip 安装依赖 requirements.txt相关的操作:

1.列出已安装的包:pip freeze or pip list

2.导出requirements.txt
a.pip freeze > <目录>
b.pip freeze > requirements.txt

3.安装
a.pip install <包名> 
b.pip install -r requirements.txt

猪:可使用== >= <= > < 来指定依赖版本,不写则安装最新版

Redis的简单使用咯!

首先在app.py配置:

from redis import Redis
app_.default_redis = Redis.from_url(app_.config['REDIS_URL'])

REDIS_URL来自于config.py

REDIS_URL = 'redis://:password@127.0.0.1:6379/0'

实际位图操作:

# redis位图使用——举个栗子(用户当天是否签到)

def is_sign_today(user_id):
    redis_cli = current_app.default_redis
    # bitmap  key
    bit_key = 'sign%s:%s' % (current_time.strftime('%Y%m%d'), user_id)
    # 当前用户是否签到
    is_sign = redis_cli.getbit(bit_key, user_id)
    if is_sign:
        return 1
    redis_cli.setbit(bit_key, user_id, 1)

# 设置不同的bitkey,可统计不同的数值——举个栗子(统计当天的总的签到数)

bit_key = 'sign%s' % (current_time.strftime('%Y%m%d'))
redis_cli.setbit(bit_key, user_id, 1)
redis_cli.bitcount(bit_key)

# 还有一种方式做统计keys(返回的匹配的所有key)
redis_cli.keys('sign2021*')     #统计年
redis_cli.keys('sign202101*')   #统计月

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用 RedisCluster 的连接池可以提高应用程序访问 RedisCluster 的效率和性能,可以减少连接的开销,避免频繁的重连,以及减轻 RedisCluster 服务器的负载。 下面是一个使用 RedisCluster 连接池的示例代码: ```python from rediscluster import RedisCluster from redis.connection import ConnectionPool startup_nodes = [{"host": "127.0.0.1", "port": "7000"}] pool = ConnectionPool.from_url("redis://127.0.0.1:7000", max_connections=50) redis_cluster = RedisCluster(startup_nodes=startup_nodes, connection_pool=pool) # 使用连接池执行 RedisCluster 命令 result = redis_cluster.get("foo") print(result) ``` 在上面的代码中,我们先创建了一个 RedisCluster 的连接池,然后将其作为参数传递给 RedisCluster 的构造函数,以便在创建 RedisCluster 实例时使用该连接池。 `max_connections` 参数指定连接池中的最大连接数。当连接请求超过这个数时,会等待其他连接释放资源后再进行连接。该参数可以根据实际情况进行调整。 在使用 RedisCluster 进行数据操作时,我们可以通过 `redis_cluster` 对象来执行 RedisCluster 命令,RedisCluster 内部会自动从连接池中获取连接,并在命令执行完毕后将连接放回连接池中。 需要注意的是,只有在多个线程或协程同时访问同一个 RedisCluster 实例时才需要使用连接池。如果只有单个线程或协程访问 RedisCluster,不需要使用连接池,直接使用 RedisCluster 的实例即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZBY52031

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值