| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import redis
- import sys
- import os
- import re
- abspath = os.path.abspath(__file__)
- root_path = re.sub(r"tendata-warehouse.*", "tendata-warehouse", abspath)
- sys.path.append(root_path)
- class RedisOperator:
- def __init__(self, host, port=6379, db=0, password=None):
- self.redis_client = redis.Redis(host=host, port=port, db=db, password=password)
- def get_hash_table_all(self, table_name):
- """
- 获取哈希表的所有字段和值
- :param table_name: 哈希表名称
- :return: 哈希表的所有字段和值,以字典形式返回
- """
- return self.redis_client.hgetall(table_name)
- def get_hash_table_field(self, table_name, field):
- """
- 获取哈希表的指定字段
- :param table_name: 哈希表名称
- :param field: 字段名称
- :return: 指定字段的值
- """
- return self.redis_client.hget(table_name, field)
- def zadd_batch(self, zset_name, mapping):
- """
- 批量插入有序集合 ZSET 中的多个成员和分数
- :param zset_name: 有序集合名称
- :param mapping: 包含多个成员和分数的字典
- :return: 插入成功的成员数量
- """
- return self.redis_client.zadd(zset_name, mapping)
- def delete_zset(self, zset_name):
- """
- 删除整个有序集合 ZSET
- :param zset_name: 有序集合名称
- :return: True if the key was removed, False if the key does not exist
- """
- return self.redis_client.delete(zset_name) > 0
- if __name__ == '__main__':
- redis_host = '192.168.30.1'
- redis_port = 8000
- redis_db = 10
- redis_password = '111111'
- redis_operator = RedisOperator(redis_host, redis_port, redis_db, redis_password)
- # 示例:批量插入有序集合 ZSET
- zset_name = 'my_test_zset1'
- mapping = {'member1': 10, 'member2': 20, 'member3': 30}
- result = redis_operator.zadd_batch(zset_name, mapping)
- print(f"Inserted {result} members into {zset_name}")
|