编译安装redis-3.2.9(latest stable version)
What is the Redis?
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. Redis has built-in replication, Lua scripting, LRU eviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
安装配置:
下载源码包:
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
为了方便维护,管理及安全,建议创建一个普通用户来运行redis,此处演示基于redis用户,系统为CentOS7
groupadd redis
useradd -d /home/redis -g redis -m redis
// -d DIRECTORY :指定用户的家目录
// -m DIRECTORY:创建用户的家目录
解压安装包,并进入解压后的目录可以看到:

进入src目录,开始编译:
cd src && make all
编译成功后,显示:

注意:此时可能会出现无法编译或者编译报错的情况。
此错误大体报错信息如下:
error: jemalloc/jemalloc.h: No such file or directory
本人第一次编译时就出现了这个错误,后来查阅资料后得知:在解压包中有个README.md文件,里面有相关说明:
说关于分配器allocator, 如果有MALLOC 这个环境变量, 会用这个环境变量所赋值的分配器去建立Redis。
而且libc 并不是默认的分配器, 默认的是 jemalloc, 因为 jemalloc 被证明有更少的fragmentation problems 比libc。
但是如果你又没有jemalloc 而只有libc当然 make 出错。 所以加这么一个参数。
此环境变量可以在/etc/profile或者/etc/profile.d/目录下自行设置:
make MALLOC=libc
设置后保存退出,重载一下此文件即可。
安装redis:
还是在src目录下,有个Makefile文件,里面定义了具体的安装细节,可以自行查阅。
其中有一项定义安装路径的为:
“PRIFIX?=/usr/local”
可根据需要自行进行修改,此处演示定义的是:

之后执行:
make install
显示:

则表示安装成功。
进入/usr/local/redis目录,可以看到:

为了以后使用相关redis命令方便,可以在redis用户的家目录下的.bash_profile文件中定义相关的环境变量:

然后复制一份redis.conf至安装目录,方便使用:

至此已基本完成redis的安装,接下来通过简单配置几项,即可启动redis
由于redis功能强大,支持的配置选项较多,此处不做过多赘述,个人就几个必改选项进行陈述:
bind 127.0.0.1 //redis server端监听的地址 daemonize yes //是否以守护进程方式运行,默认为no requirepass YOUR_PASSWORD //基于密码进认证
修改完上述三项后,可以运行:
redis-server redis.conf
注意:后面跟的配置文件要是绝对路径。
小技巧:所有的redis命令可以使用-h选项获取帮助。
验证是否可以正常运行:

回应PONG则证明redis正常运行,至此安装并启动redis已完成。
编译安装redis-3.2.9(latest stable version)的更多相关文章
- 2020ubuntu1804server编译安装redis笔记(一)及报make test错误解决办法
redis的大名我想大家都不陌生,今天在ubuntu server上进行编译安装,虽然apt也可以安装,但作为内存数据库,redis又是c开发的,编译安装,对机器的适应和性能更好. 安装笔记如下 第1 ...
- 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装
系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...
- CentOS 7.4 源码编译安装 Redis
一.CentOS 7.4 源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...
- Docker容器编译安装Redis
Docker容器编译安装Redis 1.创建容器 -i 交互模式 -d 后端运行 -h 容器的hostname --name 容器名 --network 网卡 --ip IP地址 -p 端口映射 -- ...
- Ubuntu16.04编译安装Redis Desktop Manager
Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的. 安装过程参考官方提供的文档 http://docs.redisdesk ...
- Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis
1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...
- 编译安装redis
一.版本说明 CentOS版本 [root@localhost ~]# uname Linux [root@localhost ~]# uname -r 2.6.32-431.el6.i686 [ro ...
- php扩展redis,编译安装redis服务
首先安装redis扩展 https://github.com/phpredis/phpredis 下载http://redis.io/download 服务软件 cd到软件存放目录unzip phpr ...
- CentOS6.5编译安装Redis
一.首先要检测是否安装gcc yum install gcc-c++ yum install -y tcl 进入redis目录 cd /usr/local/redis .编译安装 make make ...
随机推荐
- C语言进阶学习第三章
以下记录动态内存分配: 1.malloc和free malloc和free分别用于执行动态内存分配和释放.这些函数维护一个可用内存池,当一个程序需要一些内存时,调用malloc函数,malloc从内存 ...
- Comet OJ - 2019 六一欢乐赛
传送门 #A: 思路:等差数列求和,看成俩次1+2+…+ n,多加的n减去,所以 ans = n*(n+1) - n. AC代码: #include<iostream> #include& ...
- Python3 From Zero——{最初的意识:001~数据结构和算法}
一.从队列两端高效插入.删除元素,及保留固定数量的数据条目: collections.deque([iterable[,maxlen=N]]) a = collections.deque([1, 2] ...
- ps制作浮雕和投影效果
1用文字横排工具写个hope,按住ctrl+t可以调试出文字工具,上面直接用500点来改变文字的大小.2 用矩形选框工具直接可以切割图片的大小,然后双击一个图层,添加样式为浮雕....然后合并图层3 ...
- canvas前端压缩图片和视频首屏缩略图并上传到服务器
图片: var img = document.createElement('img') img.src = window.URL.createObjectURL(fileObj.file) // 加载 ...
- Maven精选系列--classifier元素妙用
首先来看这么一个依赖 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json- ...
- jdbc加载驱动方法
1.Class.forName("com.mysql.jdbc.Driver"); 2. DriverManager.registerDriver(new com.mysql.jd ...
- iOS开发系列-自动化分发测试打包
概述 项目在测试阶段需要频繁打包给测试人员,对于这些固定化的操作我们可以使用自动化的手段去解决,将时间放在有意义的事情上. xcodebuild 是苹果发布自动构建的工具. Shell脚本打包 xcr ...
- FTP、SFTP、SCP、SSH、OpenSSH关系解密
FTP(File Transfer Protocol):是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层.FTP ...
- 关于python merge后数据行数增加的问题
其中一个可能的原因是 join 的 data 里面的列不唯一,也就是要匹配的表里面有些一行数据对应了被匹配表多条数据,这样出来可能会增加行数,可以再查一下被匹配表里的数据是否去重