Skip to content

非redis库实现队列过期处理,用于处理用户事件

License

Notifications You must be signed in to change notification settings

TelechaBot/BotRedis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BotRedis

一个 延迟消费队列实现,多线程,内存安全,基于 Python 和 Redis(停机重载)。

简单 简陋

import time
import asyncio
from QuickStar import JsonRedis

s = time.time()

# 初始化,如果没有则加载!
JsonRedis.start()

# 注册和通过
JsonRedis.resign_user(userId=1, groupId=-1)
JsonRedis.grant_resign(userId=1, groupId=-1)
JsonRedis.resign_user(userId=6, groupId=-1)


# 异步测试
async def main():
    from QuickStar import JsonRedis
    JsonRedis.resign_user(userId=3, groupId=-1)
    for i in range(20):
        JsonRedis.resign_user(userId=i + 1, groupId=-1)


asyncio.run(main())
JsonRedis.checker()  # check 传入的list中是一个值,带有 user 和group 的!可以通过子函数创建此值。也算是一个小漏洞?(可以改成深度遍历的哦)
e = time.time()
print(((e - s) * 1000), "毫秒")

基于内存共享和数据锁实现的原子化延迟队列

如何使用

自己改动 QuickStar/__init__.py

关于 Bot/TimerRedis.py

初代垃圾

About

非redis库实现队列过期处理,用于处理用户事件

Resources

License

Stars

Watchers

Forks

Languages