编译安装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已完成。