跳到主要内容

redis_data

简介

提供对redis数据的常用操作 1.目前先提供:哈希表操作和普通的键操作 2.可以通过redis_data.load_all_entry加载子对象扩展功能(通过redis_data.eval调用)

组件接口

redis_data.gs

函数原型函数作用
mixed eval(string script_name, mixed db, ...)在指定的db上执行一个指定的脚本
bool exists(mixed db, string key)指定的键是否存在(exists)
void set_int(mixed db, string key, int val)为指定的键设置int类型的值(set)
int get_int(mixed db, string key)获取指定的键对应的值(键不存在时返回0)(get)
int add_int(mixed db, string key, int val)为指定的键增加指定的int值(incrby)
bool insert(mixed db, string key, mixed value)插入一个新键(setnx)
void set(mixed db, string key, mixed value)设置一对键值(set)
void set_with_timeout(mixed db, string key, mixed value, int timeout_seconds)设置一对自动超时的键值(setex)
mixed get(mixed db, string key)获取一个指定的键的值(get)
bool delete(mixed db, string key)删除一个指定的键
bool map_insert(mixed db, string name, string key, mixed value)向哈希表插入一个键值对(hsetnx)
void map_set(mixed db, string name, string key, mixed value)设置哈希表的一个键值对(hmset)
void map_set_many(mixed db, string name, map kv_pairs)设置哈希表的多个键值对
mixed map_get(mixed db, string name, string key)从哈希表获得一个指定的键的值(hget)
bool map_delete(mixed db, string name, string key)删除哈希表中的一个或者多个键值(hdel)
map map_get_all(mixed db, string name)获取哈希表内的所有键值对(hgetall)
mixed map_scan(mixed db, string name, int cursor, int count = 10)扫描哈希表(hscan)
array map_keys(mixed db, string name)获取哈希表的所有键

样例

import pkg.redis_data;
import pkg.hiredis;

map redis_cfg = {
"thread_num" : 1
};
hiredis.setup_redis(redis_cfg);

map adb_config = {
"driver" : "redis",
"host" : "127.0.0.1",
"port" : 6379,
"passwd" : "",
"db_index" : 0,
"is_cluster" : false,
"max_conn_count" : 512,
};
redis_pool=>set_db_config("adb", adb_config);

// 查询 key1 是否存在
if (! redis_data.exists("adb", "key1"))
printf("key1 不存在\n");