SylixOS移植Redis库总结

本文总结了将Redis移植到SylixOS操作系统的过程,包括Redis简介、资源获取、Linux平台编译步骤,特别是移植工作的详细步骤,如服务器工程创建和动态库工程创建,以及移植后的使用方法。
摘要由CSDN通过智能技术生成

1. Redis简介

    Redis是一个开源软件项目(BSD许可),用ANSI C编写,适用于大多数的POSIX系统,是一个可用作数据库、缓存和消息代理的内存数据库。Redis是一个非关系型数据库,Redis可以存储键与五种不同数据结构类型之间的映射,这五种类型分别为:字符串、列表、集合、有序集合和散列。Redis通常将整个数据集保存在内存中,Redis通过两种不同的方式实现持久性:一种是快照,另一种是AOF(AppendOnly File)。Redis支持主从复制,来自任何Redis服务器的数据可以复制到任意数量的从站。Redis还包含发布/订阅、Lua脚本等其他功能。

2. 资源获取

    在官网下载第三方中间件的资源,Redis的官方下载网站为:https://redis.io/download。本文中使用的版本是redis-3.2.8,下载后解压文件,文件目录如图 2-1所示。
 
图 2-1  Redis解压后的文件
    src目录包含Redis的实现,tests目录包含使用tcl语言实现的单元测试,deps目录包含Redis所需要使用的库,SylixOS只需要提供libc的POSIX兼容接口以及一个C编译器即可。

3. Linux平台编译

    将文件夹拷贝到Linux平台下,由于文件夹中已有Makefile文件,所以可直接编译,Makefile文件如图 3-1所示。
 
图 3-1  Makefile文件

    Redis可以手动选择内存分配器进行编译,Redis支持libc malloc以及jemalloc,并且在Linux系统上jemalloc是默认值,因此要强制使用libc malloc编译需要添加命令参数,编译命令如图 3-2所示。


图 3-2  编译命令

4. 移植工作

    Redis采用的服务器客户端模型,并且支持命令行模式以及hiredis API接口,因此需要编译出服务器的可执行程序以及根据具体需求编译出客户端的可执行程序。

4.1 服务器工程创建

    在Real-Evo IDE中创建redis-server的应用工程,删除工程中src目录下的redis-server.c文件,导入源码包中的src和deps两个文件夹。导入完成后的工程文件如图 4-1所示。
 
图 4-1  工程文件
    改为专家模式,修改源文件和头文件路径,头文件路径如图 4-2所示。
 
图 4-2  头文件路径
部分源文件如图 4 3所示。
 
图 4-3  源文件名
    链接base工程内的cextern动态库,如图 4-4所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值