小工具知识网

当前位置: 首页 > 行业知识 > redis使用笔记

行业知识

redis使用笔记

2026-11-08 16:50:52 来源:互联网转载

redis使用笔记

  • 1、Redis简介
    • 1.1 含义
    • 1.2 功能
    • 1.3 特点
    • 2. 常用的数据结构
      • 2.1 HASH
      • 3 redis接口定义
        • 3.1 redisReply
        • 3.2 redisContext
        • 3.3 redisCommand
        • 4 实践操作
          • 4.1 遇到问题
            • 4.1.1 Get哈希的时候返回error
            • 4.1.2 长度一���为0,str没法打印(未解决)

              1、Redis简介

              最近项目需要使用redis,第一次操作做下工作笔记,以方便后续遇到问题时回头整理复盘,本篇我会持续补充持续更新~

              1.1 含义

              Redis(Remote Dictionary Server),是一种基于内存的数据结构存储服务。

              1.2 功能

              可以用作于数据库,缓存和消息队列,而且是开源的。

              1.3 特点

              • 基于内存的存储,操作速度非常快;
              • 丰富的数据结构,包括字符串、列表、集合、有序集合等;
              • 支持持久化存储;
              • 集群支持;
              • 灵活性;
              • 易于使用;

                2. 常用的数据结构

                2.1 HASH

                HMSET key field value [field value ...]

                如果key存在,则更新value的值,如果key不存在,则更新key-value的键值对

                HMSET usertable name "Alice" age 30 gender "female"

                解释:将name Alice、age 30、gender female设置到usertable里面。同理,有set就必然会有get,含义就不再赘述,直接看代码:

                HMGET key field [field ...]HMGET usertable name age gender // 举例

                即从usertable里面获取name age gender这三个哈希字段,这只是命令的源码,实际开发过程中还要配合hiredis的接口进行操作访问:

                3 redis接口定义

                3.1 redisReply

                typedef struct redisReply {    int type;    long long integer;    double dval;    size_t len;    char *str;    char vtype[4];    size_t elements;    struct redisReply **element;} redisReply;

                type的枚举类型如下:

                #define REDIS_REPLY_STRING 1 // 字符串#define REDIS_REPLY_ARRAY 2 // 数组#define REDIS_REPLY_INTEGER 3 // 整形#define REDIS_REPLY_NIL 4 // 不存在的类型#define REDIS_REPLY_STATUS 5 // 状态回复类型#define REDIS_REPLY_ERROR 6 // 错误恢复类型#define REDIS_REPLY_DOUBLE 7#define REDIS_REPLY_BOOL 8#define REDIS_REPLY_MAP 9#define REDIS_REPLY_SET 10#define REDIS_REPLY_ATTR 11#define REDIS_REPLY_PUSH 12#define REDIS_REPLY_BIGNUM 13#define REDIS_REPLY_VERB 14

                3.2 redisContext

                一般是用来与redis服务器建连,常见用法如下:

                redisContext *context = redisConnect("127.0.0.1", 6379);if ((context == nullptr) || (context->err)) {      if (context) {          qDebug()           qDebug() const char* hostIP = "xxx.xxx.xxx.xxx";    qDebug()         if (context) {            qDebug()             qDebug()         qDebug()         qDebug()         printf("rely str is %s\n", reply-str);        printf("rely len is %s\n", reply-len);    }

上一篇:黑魂私人服务器怎么进去?

下一篇:淘宝cpu服务器怎么样?