安装Redis-4.0.1以及hiredis库

2024-03-25 16:58
文章标签 安装 redis 4.0 hiredis

本文主要是介绍安装Redis-4.0.1以及hiredis库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装Redis-4.0.1以及hiredis库

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。


install Redis-4.0.1

一、新建账户

[root@localhost ~]# useradd -d /home/redis -m redis
[root@localhost ~]# passwd redis
[root@localhost ~]# su - redis
[redis@localhost ~]$

二、上传安装包&&解压缩

[redis@localhost ~]$ ll
total 1672
-rw-r--r--. 1 redis redis 1711660 Mar  4 17:11 redis-4.0.1.tar.gz
[redis@localhost ~]$ tar zxf redis-4.0.1.tar.gz 
[redis@localhost ~]$ ll
total 1676
drwxrwxr-x. 6 redis redis    4096 Jul 24  2017 redis-4.0.1
-rw-r--r--. 1 redis redis 1711660 Mar  4 17:11 redis-4.0.1.tar.gz

三、编译源文件

[redis@localhost ~]$ cd redis-4.0.1/src/
[redis@localhost src]$ make

这时可看到redis-cli、redis-server等可执行文件已存在于src目录下。

[redis@localhost src]$ ll redis-cli
-rwxrwxr-x. 1 redis redis 5730574 Mar 12 13:22 redis-cli
[redis@localhost src]$ ll redis-server 
-rwxrwxr-x. 1 redis redis 8309843 Mar 12 13:22 redis-server

PS.

关于make编译源文件

通常开源代码可以在src下通过以下两条命令来完成编译&&安装:

make
make install

其中:
1)make是使用src下的makefile来完成对源文件的编译,生成可执行文件(或动态库)到当前(src)目录下;
2)make install是将src下的可执行文件copy到/usr/local、/usr/bin等目录中;

明确下,所谓的“安装”,通常是binary可执行文件的copy过程。

四、创建Redis目录结构

[redis@localhost ~]$ mkdir redis
[redis@localhost ~]$ mkdir redis/bin
[redis@localhost ~]$ mkdir redis/etc
[redis@localhost ~]$ mkdir redis/lib
[redis@localhost ~]$ mkdir redis/log
[redis@localhost ~]$ mkdir redis/include
[redis@localhost ~]$ mkdir redis/redis-run

五、安装Redis以及配置

安装Redis && Copy配置文件

[redis@localhost ~]$ cp redis-4.0.1/src/redis-cli redis/bin
[redis@localhost ~]$ cp redis-4.0.1/src/redis-server redis/bin[redis@localhost ~]$ cp redis-4.0.1/redis.conf redis/etc/

配置Redis(在redis.conf末尾添加配置项key-value)

[redis@localhost ~]$ cd redis/etc/
[redis@localhost etc]$ echo "port 12001" >> redis.conf
[redis@localhost etc]$ echo "dir $HOME/redis/redis-run" >> redis.conf
[redis@localhost etc]$ echo "logfile $HOME/redis/log/redis.log" >> redis.conf
[redis@localhost etc]$ echo "pidfile $HOME/redis/redis-run/redis.pid" >> redis.conf
[redis@localhost etc]$ echo "loglevel verbose" >> redis.conf

将redis可执行文件加入到PATH中:

[redis@localhost ~]$ echo 'export PATH=$PATH:$HOME/redis/bin' >> ~/.bash_profile

退出当前终端,重新登陆,使.bash_profile生效。

[redis@localhost ~]$ which redis-server
~/redis/bin/redis-server

六、启动Redis

执行以下命令:

[redis@localhost ~]$ redis-server $HOME/redis/etc/redis.conf &
[1] 7789

Check:

[root@localhost ~]# netstat -lntp | grep 12001
tcp        0      0 127.0.0.1:12001             0.0.0.0:*                   LISTEN      7789/redis-server 1

尝试使用redis-cli去接入服务端:

[redis@localhost ~]$ redis-cli -h 127.0.0.1 -p 12001
127.0.0.1:12001> quit

查看Redis版本:

[redis@localhost ~]$ redis-cli --version
redis-cli 4.0.1
[redis@localhost ~]$ redis-server --version
Redis server v=4.0.1 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=bd34ae9555e58482

至此,Redis-4.0.1已安装完毕并启动成功。


install hiredis lib

一、编译生成hiredis库

[redis@localhost ~]$ cd redis-4.0.1/deps/hiredis && make
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  hiredis.c
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  sds.c
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  async.c
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  read.c
cc -shared -Wl,-soname,libhiredis.so.0.13 -o libhiredis.so  net.o hiredis.o sds.o async.o read.o
ar rcs libhiredis.a net.o hiredis.o sds.o async.o read.o
cc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  test.c
cc -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  -o hiredis-test   test.o libhiredis.a
Generating hiredis.pc for pkgconfig...

Check:

[redis@localhost hiredis]$ ll libhiredis.*
-rw-rw-r--. 1 redis redis 332022 Mar 12 13:52 libhiredis.a
-rwxrwxr-x. 1 redis redis 227229 Mar 12 13:52 libhiredis.so

二、安装hiredis

Copy 头文件:

[redis@localhost ~]$ cp redis-4.0.1/deps/hiredis/*.h $HOME/redis/include

设置gcc编译器头文件查找路径:

[redis@localhost ~]$ echo 'export C_INCLUDE_PATH=$C_INCLUDE_PATH:$HOME/redis/include' >> $HOME/.bash_profile

编译器在缺失头文件时,会额外地从C_INCLUDE_PATH包含的目录中查找是否有缺失的头文件。

注:
与C_INCLUDE_PATH相关的,还有CPLUS_INCLUDE_PATH。

Copy动态、静态库:

[redis@localhost ~]$ cp redis-4.0.1/deps/hiredis/libhiredis.* $HOME/redis/lib

设置LD_LIBRARY_PATH:

[redis@localhost ~]$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/redis/lib' >> $HOME/.bash_profile

在进程启动时,ld从/usr/lib等默认的地方找不到hiredis库时,还会去LD_LIBRARY_PATH包含的目录中搜索动态库。

退出当前终端,重新登陆,使得相关环境变量生效

[redis@localhost ~]$ echo $C_INCLUDE_PATH
:/home/redis/redis/include:/home/redis/redis/include
[redis@localhost ~]$ echo $LD_LIBRARY_PATH
:/home/redis/redis/lib

写个小程序,编译下看看?

#include <stdio.h>
#include <stdlib.h>
#include <hiredis.h>int main()
{return 0;
}
[redis@localhost ~]$ gcc -o main main.c -lhiredis -L$HOME/redis/lib
[redis@localhost ~]$ ldd mainlinux-vdso.so.1 =>  (0x00007ffee1ddb000)libhiredis.so.0.13 => not foundlibc.so.6 => /lib64/libc.so.6 (0x0000003f8c000000)/lib64/ld-linux-x86-64.so.2 (0x0000003f8b800000)

not found?

好吧,做个软链接。

[redis@localhost ~]$ ln -s $HOME/redis/lib/libhiredis.so $HOME/redis/lib/libhiredis.so.0.13

Check:

[redis@localhost ~]$ ldd mainlinux-vdso.so.1 =>  (0x00007fff3f1e2000)libhiredis.so.0.13 => /home/redis/redis/lib/libhiredis.so.0.13 (0x00007feb15502000)libc.so.6 => /lib64/libc.so.6 (0x0000003f8c000000)/lib64/ld-linux-x86-64.so.2 (0x0000003f8b800000)
[redis@localhost ~]$ ./main

至此,Redis的C API:hiredis库已安装完毕。

这篇关于安装Redis-4.0.1以及hiredis库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/845646

相关文章

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

Redis 命令详解与实战案例

《Redis命令详解与实战案例》本文详细介绍了Redis的基础知识、核心数据结构与命令、高级功能与命令、最佳实践与性能优化,以及实战应用场景,通过实战案例,展示了如何使用Redis构建高性能应用系统... 目录Redis 命令详解与实战案例一、Redis 基础介绍二、Redis 核心数据结构与命令1. 字符

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

SpringBoot18 redis的配置方法

《SpringBoot18redis的配置方法》本文介绍在SpringBoot项目中集成和使用Redis的方法,包括添加依赖、配置文件、自定义序列化方式、使用方式、实际使用示例、常见操作总结以及注意... 目录一、Spring Boot 中使用 Redis1. 添加依赖2. 配置文件3. Redis 配置类

Redis中群集三种模式的实现

《Redis中群集三种模式的实现》Redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1. Redis三种模式概述2、Redis 主从复制2.1 主从复制的作用2.2 主从复制流程2

Redis的安全机制详细介绍及配置方法

《Redis的安全机制详细介绍及配置方法》本文介绍Redis安全机制的配置方法,包括绑定IP地址、设置密码、保护模式、禁用危险命令、防火墙限制、TLS加密、客户端连接限制、最大内存使用和日志审计等,通... 目录1. 绑定 IP 地址2. 设置密码3. 保护模式4. 禁用危险命令5. 通过防火墙限制访问6.

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Docker + Redis 部署集群的实现步骤

《Docker+Redis部署集群的实现步骤》本文详细介绍了在三台服务器上部署高可用Redis集群的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、环境准备1. 服务器规划(3 台服务器)2. 防火墙配置(三台服务器均执行)3. 安装 docke

Redis中删除策略的几种实现方式

《Redis中删除策略的几种实现方式》本文详细介绍了Redis的过期键删除策略和内存淘汰策略,过期键删除策略包括定时删除、惰性删除和定期删除,具有一定的参考价值,感兴趣的可以了解一下... 目录前言一、设计背景:为什么需要删除策略?二、第一类:过期键的 3 种核心删除策略1. 定时删除(Timed Dele