redis C API快速上手(安装及demo代码编写)

---FD---


此文章为redis上手时相关记录,现记录下来好以后查找问题~

1、redis安装的相关链接,能够完成安装

https://www.cnblogs.com/renzhicai/p/7773080.html


2、C环境下demo编写

(1)通过上文安装好之后,开始在C环境下demo编写

https://blog.csdn.net/hj19870806/article/details/8724907


(2)在上文运行时出现了找不到libhiredis.so.0.13的情况,查看了链接:

https://blog.csdn.net/ydyang1126/article/details/51362729(解决问题)

        /usr/local/lib为我libhiredis.so.0.13存放地址

        应为动态库调用的时候缺少,所以加入/etc/ld.so.conf中:

include ld.so.conf.d/*.conf
/usr/local/lib

sudo /sbin/ldconfig(再输入此命令,再回到之前位置编译即可完成运行)


3、redis 命令及C demo代码了解


(1)刚在微信上看到的一篇讲redis更深一点的文章(还没看先记录下来)

    https://mp.weixin.qq.com/s/m-RdJQdG-qW-BLquorhMlQ


(2)redis的数据结构

    分为:(用的较多的是string/hash,在一些涉及到排名的功能sorted-set(zset)用的多一些)

string (字符串结构)

    赋值:set                                删除:del

    取值:get                                数值增减:incr/decr

    扩展命令:incrby/decrby


Hash(键值对的map结构)

赋值:hset key username jack(命令+key+键值对)

取值:hget                                   删除:hdel

增减数值:hincrbu/hdecrby

自学命令:hexists/hlen/hkeys/hvals


list(结构分为两种,一种为由数组形式构成,一种由双向链表连接方式)

    两端添加:

            左边插入(lpush),右边插入(rpush)

    两端弹出:

            左边弹出(lpop),邮编弹出(rpop)

    查看列表:lrange(命令) + list(key 名) + 0(开始编号) + 5(结尾编号) 

    获取列表个数:llen

    扩展命令

        lrem:            删除某一值的所有元素

        lset:                设置时覆盖之前的值


set(无排序的数字集合,集合中的值不能重复)

    添加:sadd

    删除:srem

    获得集合中的元素:sismember(看集合是否存在)

    求取集合之间的命令

        差集:(参数顺序不同结果不同)

        交集:sdiff

        并集:sinter

    扩展命令:

        smembers                                    (查看所有元素)

        scard                                            (查看元素的所有个数)

        srandmember                                (随机取出一个)

        sdiffstore  my1 my2 my3             (my2/my3 的差集给 my1)

        sinterstore my1 my2 my3            (my2/my3 的交集给 my1)

        suniorstore my1 my2 my3            (my2/my3 的并集给 my1)


sorted-set(成员集合有序,且能快速增删)

(应用场景游戏排名,微博排名)

    添加:zadd  mysort  70 zs 80 ls 90 ww (70/80/90 指的是分数,通过分数在结构体中排序)

    删除:zrem

    获得:zscore(分数)    zcard(成员)

    范围查询:

        zrange  mysort  0  -1  withscores(小->大)

        zrevrange  mysort  0  -1  withscores(大->小)

    扩展命令

        zincrby(特定成员加分)

        zscore(某成员的分数)

        zcount(某分数多少成员,可一个分数多个成员)


(3)demo C API理解:

    redisContext* c = redisConnect((char*)"127.0.0.1", 6379);  //链接本地127.0.0.1,端口为6379的redis


    const char* command1 = "set stest1 value9";                      //set命令


    redisReply* r = (redisReply*)redisCommand(c,command1);      //执行此条语句


    redisAppendCommand(c,command1);                                      //放入缓存区,等待redisGetReply再执行

    redisGetReply(c,(void**)&reply)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值