跳到主要内容

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的协议的最小集。
  • 仓库地址:

组件接口

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连接-密码认证