hiredis
简介
基于hiredis实现的redis数据库操作
- Reids简介
- Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
- Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
- Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value 类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
- Redis优势
- 性能极高 – Redis能支持超过 100K+ 每秒的读写频率。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
- Redis劣势
- 数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。
- Hiredis简介
- Hiredis是redis数据库一个轻量的C语言客户端库。
- 轻量:它只是简单的提供了对redis操作语句支持的接口,并没有实现具体的操作语句的功能。
- Hiredis是一个Redis的C客户端库函数,基本实现了Redis的协议的最小集。
- Hiredis是redis数据库一个轻量的C语言客户端库。
- 仓库地址:
组件接口
client.gs
函数原型 | 函数作用 |
---|---|
parallel mixed redis_command(...) | 执行redis命令(无法处理二进制数据) |
parallel mixed redis_command_ex(...) | 执行redis命令(可用于处理二进制数据) |
parallel mixed redis_eval(string lua_script, array key_list, array arg_list) | 执行redis命令-使用Lua 解释器来执行脚本 |
hiredis.gs
函数原型 | 函数作用 |
---|---|
void setup_redis(map cfg) | 初始化hiredis |
bool is_inited() | 是否完成hiredis的初始化 |
object redis_connect_with_timeout(string host, int port, int timeout = TIMEOUT) | redis连接-超时限制 |
object redis_connect_with_timeout_auth(string host, int port, string passwd, int timeout = TIMEOUT) | redis连接-密码认证 |