Redis接口的调用

1、hiredis是redis数据库的C接口,目录为/redis-3.2.6/deps/hiredis
2、示例代码如下:
    #include <stdio.h>
    #include <stdlib.h>
    #include <stddef.h>
    #include <stdarg.h>
    #include <string.h>
    #include <assert.h>
    #include "hiredis.h"

    int main()
    {
        //连接redis
        redisContext* c = redisConnect("127.0.0.1", 6379);
        if ( c->err)
        {
            redisFree(c);
            printf("Connect to redisServer faile\n");
            return -1;
        }
        printf("Connect to redisServer Success\n");

        const char* setCommand = "set name andy";
        redisReply* r = (redisReply*)redisCommand(c, setCommand);

        if( NULL == r)
        {
            printf("Execut setCommand failure\n");
            redisFree(c);
            return -1;
        }
        if( !(r->type == REDIS_REPLY_STATUS && strcasecmp(r->str,"OK")==0))
        {
            printf("Failed to execute command[%s]\n",setCommand);
            freeReplyObject(r);
            redisFree(c);
            return -1;
        }
        freeReplyObject(r);
        printf("Succeed to execute command[%s]\n", setCommand);

        const char* getCommand = "get name";
        r = (redisReply*)redisCommand(c, getCommand);
        if ( r->type != REDIS_REPLY_STRING)
        {
            printf("Failed to execute command[%s]\n",getCommand);
            freeReplyObject(r);
            redisFree(c);
            return -1;
        }
        printf("Succeed to execute command[%s]\n", getCommand);
        printf("The value of ‘name‘ is %s\n", r->str);
        freeReplyObject(r);

        redisFree(c);
        return 0;
    }
3、编译,运行如下:
    [[email protected] hiredis]# g++ -o main main.cpp libhiredis.a
    [[email protected] hiredis]# ./main
    Connect to redisServer Success
    Succeed to execute command[set name andy]
    Succeed to execute command[get name]
    The value of ‘name‘ is andy
时间: 2024-08-08 09:45:21

Redis接口的调用的相关文章

基于AOP和Redis实现对接口调用情况的接口及IP限流

目录 需求描述 概要设计 代码实现 需求描述 项目中有许多接口,现在我们需要实现一个功能对接口调用情况进行统计,主要功能如下: 需求一:实现对每个接口,每天的调用次数做记录: 需求二:如果某次调用抛出了异常信息,则记录下异常信息: 需求三:限流,限制单个IP一天内对一个接口的调用次数. 概要设计 因为需要对每个接口的调用情况进行统计,所以选择AOP来实现,将Controller层抽象为一个切面 @Before 执行业务操作前进行限流判断: @AfterReturn 如果正常返回则调用次数加1:

sso接口的调用

之前一直想sso接口已经写好了,登录注册功能是怎么调用的呢?原来在登录注册的jsp页面实现的接口的调用,页面的校验和验证功能在jsp页面即可实现. 注册页面: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page trimDirectiveWhitespaces="true"

【转载】COM 组件设计与应用(十一)—— IDispatch 及双接口的调用

原文:http://vckbase.com/index.php/wv/1236.html 一.前言 前段时间,由于工作比较忙,没有能及时地写作.其间收到了很多网友的来信询问和鼓励,在此一并表示感谢.咳......我也需要工作来养家糊口呀...... 上回书介绍了两种方法来写自动化(IDispatch)接口的组件程序,一是用 MFC 方式编写“纯粹”的IDispatch 接口:二是用 ATL 方式编写“双接口”的组件. 二.IDispatch 接口和双接口 使用者要想调用普通的 COM 组件功能,

EC应用之多平台接口远程调用

在传统的网络应用编写中都是通过接收消息处理然后应答,但在.net 3.0后提供了一个基于业务接口调用的网络交互体系WCF.基于WCF .NET程序可以通过接口调用的方式进行远程业务调用处理.由于WCF是MS提供的体系,所以在mono和xamarin所支持的其他平台都没有良好地被支持.但随便着mono和xamarin的迅速发展,基于业务接口远程调用的服务体系该提供给更多平台提供通讯的便利性;为了解决这些问题EC组件提供了一套基于业务接口远程调用方法实现,借助于mono和xamarin可以使些功能简

ledisdb:支持类redis接口的嵌入式nosql

前言 java中的反射的底层实现是,在jvm的Classloader获得全限定名来创建Class. 正文 获得反射类型对象 1.类名.class 不执行静态快 2..Class<?> getClass() Returns the runtime class of this Object. 3.static Class<?> forName(String className) Returns the Class object associated with the class or

Saltstack的API接口与调用方式

saltstack看起来是成为一个大规模自己主动化运维和云计算管理的一个框架,类似于SDK,并非像puppet仅仅成为一个工具.基于良好设计的API和清楚的思路,让salt的二次开发变得非常easy.写非常少的代码就能够将salt跟现有的运维系统结合.saltstack是用python语言实现的,假设对saltstack本身进行二次开发,就必须得会python语言. Saltstack是通过多个独立的模块构成的,这些都能够当做saltstack的api.然后在上层做基础开发能够通过调用这些sal

从头认识java-12.6 接口与类型信息(怎么绕过接口直接调用类的所有方法)

这一章节我们来讨论一下接口与类型信息. 在之前的章节里面我们提到接口,父类引用子类对象,然后把方法给缩窄了,但是我们这一章节学习到反射,这个约束就变得没有那么严格. 我们来看看下面的例子: package com.ray.ch11; public class Test { public static void main(String[] args) { Person man = new Man(); man.sleep(); man.run(); // man.say();//error } }

对服务器端接口的调用,自己手写了一个脚本,但返回信息的中文总是乱码(这个方法很不错,重要的是解决思路,寻找手写脚本与录制脚本 生成目录文件的区别)

对服务器端接口的调用,自己手写了一个脚本,但返回信息的中文总是乱码.在网上搜索了很多方法,包括: 1.Tools->Recording Options->Advanced->勾选Support charset UTF-8 2.Run-time Settings->Browser->Browser Emulation->Change,将language置为中文 3.web_add_auto_header("Accept-Language","

【C#】接口:调用

public interface IDataAccess { virtual void AddData(); } public SQlMethord:IDataAccess { void AddData() { System.Windows.Form.MessageBos.Show("SQLMethord"); } } public AccessMethord:IDataAccess { void AddData() { System.Windows.Form.MessageBos.S