MCPcopy Create free account
hub / github.com/CL-lau/SQL-GPT / RedisHelper

Class RedisHelper

memory/redisHelper.py:8–122  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6
7
8class RedisHelper:
9 def __init__(self, host=None, port=None, db=None, pool_size=None, password=None, config_file=None):
10 self.config_file = '../config.json'
11 self.host = host
12 self.port = port
13 self.db = db
14 self.pool_size = pool_size
15 self.password = password
16
17 self.initConfig()
18
19 # 创建连接池
20 self.redis_pool = redis.ConnectionPool(
21 host=self.host,
22 port=self.port,
23 db=self.db,
24 max_connections=self.pool_size,
25 password=self.password
26 )
27 self.redis_conn = redis.StrictRedis(connection_pool=self.redis_pool,
28 decode_responses=True
29 )
30
31 # String 操作
32 def set(self, key, value, expire=None):
33 """设置键值对到 Redis"""
34 self.redis_conn.set(key, value, ex=expire)
35
36 def get(self, key):
37 """从 Redis 获取键对应的值"""
38 return self.redis_conn.get(key)
39
40 # Hash 操作
41 def hset(self, name, key, value):
42 """设置 Hash 中的字段值"""
43 self.redis_conn.hset(name, key, value)
44
45 def hget(self, name, key):
46 """获取 Hash 中字段的值"""
47 return self.redis_conn.hget(name, key)
48
49 # 集合操作
50 def sadd(self, name, *values):
51 """向集合添加成员"""
52 self.redis_conn.sadd(name, *values)
53
54 def smembers(self, name):
55 """获取集合中的所有成员"""
56 return self.redis_conn.smembers(name)
57
58 # 事务
59 def execute_transaction(self, func):
60 """执行一个事务"""
61 with self.redis_conn.pipeline(transaction=True) as pipe:
62 while True:
63 try:
64 pipe.watch("key_to_watch")
65 pipe.multi()

Callers 1

redisHelper.pyFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected