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. C语言进阶学习第三章

    以下记录动态内存分配: 1.malloc和free malloc和free分别用于执行动态内存分配和释放.这些函数维护一个可用内存池,当一个程序需要一些内存时,调用malloc函数,malloc从内存 ...

  2. Comet OJ - 2019 六一欢乐赛

    传送门 #A: 思路:等差数列求和,看成俩次1+2+…+ n,多加的n减去,所以 ans = n*(n+1) - n. AC代码: #include<iostream> #include& ...

  3. Python3 From Zero——{最初的意识:001~数据结构和算法}

    一.从队列两端高效插入.删除元素,及保留固定数量的数据条目: collections.deque([iterable[,maxlen=N]]) a = collections.deque([1, 2] ...

  4. ps制作浮雕和投影效果

    1用文字横排工具写个hope,按住ctrl+t可以调试出文字工具,上面直接用500点来改变文字的大小.2 用矩形选框工具直接可以切割图片的大小,然后双击一个图层,添加样式为浮雕....然后合并图层3 ...

  5. canvas前端压缩图片和视频首屏缩略图并上传到服务器

    图片: var img = document.createElement('img') img.src = window.URL.createObjectURL(fileObj.file) // 加载 ...

  6. Maven精选系列--classifier元素妙用

    首先来看这么一个依赖 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json- ...

  7. jdbc加载驱动方法

    1.Class.forName("com.mysql.jdbc.Driver"); 2. DriverManager.registerDriver(new com.mysql.jd ...

  8. iOS开发系列-自动化分发测试打包

    概述 项目在测试阶段需要频繁打包给测试人员,对于这些固定化的操作我们可以使用自动化的手段去解决,将时间放在有意义的事情上. xcodebuild 是苹果发布自动构建的工具. Shell脚本打包 xcr ...

  9. FTP、SFTP、SCP、SSH、OpenSSH关系解密

    FTP(File Transfer Protocol):是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层.FTP ...

  10. 关于python merge后数据行数增加的问题

    其中一个可能的原因是 join 的 data 里面的列不唯一,也就是要匹配的表里面有些一行数据对应了被匹配表多条数据,这样出来可能会增加行数,可以再查一下被匹配表里的数据是否去重