Linux ( CentOS ) 下安装 Redis

1、redis简单说明

 redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
###  redis的应用场景
 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
 分布式集群架构中的session分离。
 聊天室的在线好友列表。
 任务队列。(秒杀、抢购、12306等等)
 应用排行榜。
 网站访问统计。
  数据过期处理(可以精确到毫秒)
###查看centos 版本:
lsb_release -a | grep Release
Release:    6.3

2、准备工作

a. redis是C语言实现的,所以在Linux系统中需要安装gcc来进行编译,安装gcc请参考第三步。(gcc -v 若已安装 则跳过)
b.接下来需要安装Unix的Tcl工具,如果不安装的话后期我们将无法对Redis进行测试,完成安装之后make test会报错,安装tcl请参考
c. tcl包的下载地址是:[http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz](http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz)
d.安装完成上面的几个必须的包之后,即可以安装redis

3、下载redis

wget http://download.redis.io/releases/redis-3.0.0.tar.gz

4、编译源程序

tar zxvf redis-3.0.0.tar.gz 
cd redis-3.0.0 
make
cd src
make install
make install

5、创建redis目录,移动文件,为了便于管理

mkdir -p /usr/local/redis/bin 
mkdir -p /usr/local/redis/etc
cd ../../
cp redis-3.0.0/redis.conf /usr/local/redis/etc
cd  redis-3.0.0/src
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

6、启动redis服务(redis服务端的默认连接端口是6379)

#后端模式启动
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
(调整端口 可以修改/usr/local/redis/etc/redis.conf中大约45行)
#前端模式启动
/usr/local/redis/bin/redis-server
/usr/local/redis/bin/redis-server

7、默认情况下,redis不是在后台运行的,我们需要把开启的redis后台运行

vi /usr/local/redis/etc/redis.conf      (大约37行)

将daemonize的值改为yes

8、查看是否启动

ps -ef | grep redis

9、查看是否占用6379端口号

netstat -tunpl | grep 6379

10、再启动redis

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

11、客户端连接

/usr/local/redis/bin/redis-cli -p 6379

12、退出客户端

exit  
    或者(||) 
 quit  
        (||)
 Ctrl+C

13、停止redis

/usr/local/redis/bin/redis-cli -p 6379 shutdown  
      或者 
pkill redis-server

14、redis 启动配置
vi /etc/init.d/redis
添加如下代码

PATH=/usr/local/bin:/sbin:/usr/bin:/bin
REDISPORT=6379
EXEC=/usr/local/redis/bin/redis-server
REDIS_CLI=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis.pid
CONF="/usr/local/redis/etc/redis.conf"
#AUTH="1234"
case "$1" in
        start)
                if [ -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is already running or crashed."
                else
                        echo "Starting Redis server..."
                        $EXEC $CONF
                fi
                if [ "$?"="0" ]
                then
                        echo "Redis is running..."
                fi
                ;;
        stop)
                if [ ! -f $PIDFILE ]
                then
                        echo "$PIDFILE exists, process is not running."
                else
                        PID=$(cat $PIDFILE)
                        echo "Stopping..."
                       $REDIS_CLI -p $REDISPORT  SHUTDOWN
                        sleep 2
                       while [ -x $PIDFILE ]
                       do
                                echo "Waiting for Redis to shutdown..."
                               sleep 1
                        done
                        echo "Redis stopped"
                fi
                ;;
        restart|force-reload)
                ${0} stop
                ${0} start
                ;;
        *)
               echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2
                exit 1
esac

给/etc/init.d/redis 添加权限

chmod 744 /etc/init.d/redis
/etc/init.d/redis {start|stop|restart|force-reload}

15、redis的一些配置

daemonize    如果需要在后台运行,把该项改为yes
pidfile           配置多个pid的地质,默认在/var/ren/redis.pid
bind             绑定ip,设置后只接受来自该ip的请求
port             监听端口,默认为6379 
timeout       设置客户端连接时的超时时间,单位为秒 
loglevel       分为4级,debug、verbose、notice、warning
logfile         配置log文件地址 databases 设置数据库的个数,默认使用的数据库为0 
save          设置redis进行数据库镜像的频率 
rdbcompression   在进行镜像备份时,是否进行压缩
Dbfilename   镜像备份文件的文件名
Dir    数据库镜像备份的文件放置路径 
Slaveof   设置数据库为其他数据库的从数据库
Masteauth   主数据库连接需要的密码验证 
Requirepass   设置登陆时需要的使用的密码 
Maxclients   限制同时连接的客户数量
Maxmemory  设置redis能够使用的最大内存 
Appendonly  开启append only模式 
Appendfsync   设置对appendonly.aof文件同步的频率
vm-enabled   是否开启虚拟内存支持
vm-swap-file   设置虚拟内存的交换文件路径
vm-max-memory   设置redis使用的最大物理内存大小
vm-page-size   设置虚拟内存的页大小
vm-pages   设置交换文件的总的page数量
vm-max-threads   设置VMIO同时使用的线程数量
Glueoutputbuf   设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启
hash-max-zipmap-entries   设置hash的临界值
Activerehashing   重置hash,默认为开启
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,922评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,591评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,546评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,467评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,553评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,580评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,588评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,334评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,780评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,092评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,270评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,925评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,573评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,194评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,437评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,154评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,127评论 2 352