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)的更多相关文章

  1. 2020ubuntu1804server编译安装redis笔记(一)及报make test错误解决办法

    redis的大名我想大家都不陌生,今天在ubuntu server上进行编译安装,虽然apt也可以安装,但作为内存数据库,redis又是c开发的,编译安装,对机器的适应和性能更好. 安装笔记如下 第1 ...

  2. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  3. CentOS 7.4 源码编译安装 Redis

    一.CentOS 7.4  源码编译安装 Redis 1.下载源码并解压 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar ...

  4. Docker容器编译安装Redis

    Docker容器编译安装Redis 1.创建容器 -i 交互模式 -d 后端运行 -h 容器的hostname --name 容器名 --network 网卡 --ip IP地址 -p 端口映射 -- ...

  5. Ubuntu16.04编译安装Redis Desktop Manager

    Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的. 安装过程参考官方提供的文档  http://docs.redisdesk ...

  6. Mac Pro 编译安装 Redis 的 PHP 客户端 phpredis

    1.去官网下载 redis 扩展源码包 https://github.com/phpredis/phpredis 2.安装 redis 扩展 /usr/local/src/mac-sdk/source ...

  7. 编译安装redis

    一.版本说明 CentOS版本 [root@localhost ~]# uname Linux [root@localhost ~]# uname -r 2.6.32-431.el6.i686 [ro ...

  8. php扩展redis,编译安装redis服务

    首先安装redis扩展 https://github.com/phpredis/phpredis 下载http://redis.io/download 服务软件 cd到软件存放目录unzip phpr ...

  9. CentOS6.5编译安装Redis

    一.首先要检测是否安装gcc yum install gcc-c++ yum install -y tcl 进入redis目录 cd /usr/local/redis .编译安装 make make ...

随机推荐

  1. golang的select典型用法

    golang 的 select 的功能和 select, poll, epoll 相似, 就是监听 IO 操作,当 IO 操作发生时,触发相应的动作. 示例: ch1 := make (chan in ...

  2. git rm --cached (解决:modified: .idea/workspace.xml,git idea 操作完之后不能pull)

    错误解决:modified: .idea/workspace.xml 这个错误是本地的.idea提交到了远端. 解决办法: .gitignore文件加上: .dea/workspace.xml 可是. ...

  3. 剑指offer——34之字打印二叉树

    题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推.   题解: 与上道题没区别,就是在存入数据时 ...

  4. 2019-2020 ICPC, NERC, Northern Eurasia Finals

    A. Apprentice Learning Trajectory rdc乱编的做法 考虑贪心,每次会选择结束时间最早的. 设当前时间为 \(x\),那么可以区间有两类 a) \(l_i \leq x ...

  5. 取地址栏query

    GetQueryParm () { var name, value       var str = window.location.href       var num = str.indexOf(' ...

  6. input输入内容成可点击状态

    <!DOCTYPE html> <html> <head> <script src="//code.jquery.com/jquery-1.9.1. ...

  7. Fence

    Fence 有一个长度为n的\([1,n]\)墙,有k位工人,第i位工人有参数\(s_i,p_i,l_i\),意思该位工人可以刷包含\(s_i\)的长度小于等于\(l_i\)的区间,报酬为区间长度乘以 ...

  8. leetcode-157周赛-5215黄金矿工

    题目描述: 方法一:dfs class Solution: def getMaximumGold(self, grid: List[List[int]]) -> int: maxx = 0 R, ...

  9. jquery高级编程学习

    jquery高级编程 第1章.jQuery入门 类型检查 对象 类型检查表达式 String typeof object === "string" Number typeof ob ...

  10. CSS——背景渐变

    在线性渐变过程中,颜色沿着一条直线过渡:从左侧到右侧.从右侧到左侧.从顶部到底部.从底部到顶部或着沿任何任意轴.如果你曾使用过制作图件,比如说Photoshop,你对线性渐变并不会陌生. 兼容性问题很 ...