编译安装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 ...
随机推荐
- golang的select典型用法
golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作. 示例: ch1 := make (chan in ...
- git rm --cached (解决:modified: .idea/workspace.xml,git idea 操作完之后不能pull)
错误解决:modified: .idea/workspace.xml 这个错误是本地的.idea提交到了远端. 解决办法: .gitignore文件加上: .dea/workspace.xml 可是. ...
- 剑指offer——34之字打印二叉树
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推. 题解: 与上道题没区别,就是在存入数据时 ...
- 2019-2020 ICPC, NERC, Northern Eurasia Finals
A. Apprentice Learning Trajectory rdc乱编的做法 考虑贪心,每次会选择结束时间最早的. 设当前时间为 \(x\),那么可以区间有两类 a) \(l_i \leq x ...
- 取地址栏query
GetQueryParm () { var name, value var str = window.location.href var num = str.indexOf(' ...
- input输入内容成可点击状态
<!DOCTYPE html> <html> <head> <script src="//code.jquery.com/jquery-1.9.1. ...
- Fence
Fence 有一个长度为n的\([1,n]\)墙,有k位工人,第i位工人有参数\(s_i,p_i,l_i\),意思该位工人可以刷包含\(s_i\)的长度小于等于\(l_i\)的区间,报酬为区间长度乘以 ...
- leetcode-157周赛-5215黄金矿工
题目描述: 方法一:dfs class Solution: def getMaximumGold(self, grid: List[List[int]]) -> int: maxx = 0 R, ...
- jquery高级编程学习
jquery高级编程 第1章.jQuery入门 类型检查 对象 类型检查表达式 String typeof object === "string" Number typeof ob ...
- CSS——背景渐变
在线性渐变过程中,颜色沿着一条直线过渡:从左侧到右侧.从右侧到左侧.从顶部到底部.从底部到顶部或着沿任何任意轴.如果你曾使用过制作图件,比如说Photoshop,你对线性渐变并不会陌生. 兼容性问题很 ...