169it -->


 
当前位置:  NOSQL>redis

Redis 3.2.4官方下载地址及Redis安装完整过程介绍

 
分享到:
    发布时间:2016-9-27  


     Redis 3.2.4官方下载及Redis安装完整过程介绍 (本文由www.169it.com搜集整理) redis是一个key-value存储系统,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集...

 

   Redis 3.2.4官方下载及Redis安装完整过程介绍

      (本文由www.169it.com搜集整理)

    redis是一个key-value存储系统,和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步.

    MySQL-Redis 异构读写分离Redis集群图如下

    Redis 3.2.4官方下载及Redis安装完整过程介绍


     Redis 使用标准的 major.minor.patchlevel版本做法。 stable表示稳定版本,一般用偶数版本,如:1.2, 2.0, 2.2, 2.4, 2.6,2.8。 奇数标识不稳定版本,如:2.9.x,他未来的稳定版本是3.0。要安装Redis必须先到Redis官网http://www.redis.io下载Redis安装包,Redis版本分为稳定版(Stable)和发布候选版(RC-2).当前最新的Redis稳定版为Redis 3.2.4,上一个稳定版为 Redis 3.0。它们在官网的截图如下:

Redis 3.2.4官方下载及Redis安装完整过程介绍


Redis 3.2.4 稳定版官方下载地址:  redis-3.2.4.tar.gz   


Redhat Linux 6.5/centos 6.5/Redhat Linux 7/centos 7下使用非root用户安装redis 3.2.4详细步骤

 一、Redis 3.2.4安装完整过程步骤 

1、安装前需要安装make、gcc、tcl 

sudo yum install make   
sudo yum install gcc   
sudo yum install -y tcl

2、将下载的Redis解压、编译、安装

$ tar -xzvf redis-3.2.4.tar.gz  
$ cd redis-3.2.4  
$ make MALLOC=libc  
$ make test

注:make会在目录下生成四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat

$sudo make install

 注:这个操作会将生成的可执行文件复制到/usr/local/bin中

二、Redis 3.2.4启动 

1、直接启动(适用于开发环境)

切换到redis-3.2.4/src目录下    

$redis-server

2、通过初始化脚本启动(适用于生产环境)

(1)配置init脚本:

wget https://github.com/ijonas/dotfiles/raw/master/etc/init.d/redis-server  
wget https://github.com/ijonas/dotfiles/raw/master/etc/redis.conf  
sudo mv redis-server /etc/init.d/redis-server  
sudo chmod +x /etc/init.d/redis-server  
sudo mv redis.conf /etc/redis.conf

将/etc/init.d/redis-server文件里的内容替换成以下内容:

#!/bin/sh  
#  
# redis - this script starts and stops the redis-server daemon  
#  
# chkconfig:   - 85 15  
# description:  Redis is a persistent key-value database  
# processname: redis-server  
# config:      /etc/redis.conf  
# config:      /etc/sysconfig/redis  
# pidfile:     /var/run/redis.pid  
  
# Source function library.  
. /etc/rc.d/init.d/functions  
  
# Source networking configuration.  
. /etc/sysconfig/network  
  
# Check that networking is up.  
[ "$NETWORKING" = "no" ] && exit 0  
  
redis="/usr/local/bin/redis-server"  
prog=$(basename $redis)  
  
REDIS_CONF_FILE="/etc/redis.conf"  
  
[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis  
  
lockfile=/var/lock/subsys/redis  
  
start() {  
    [ -x $redis ] || exit 5  
    [ -f $REDIS_CONF_FILE ] || exit 6  
    echo -n $"Starting $prog: "  
    daemon $redis $REDIS_CONF_FILE  
    retval=$?  
    echo  
    [ $retval -eq 0 ] && touch $lockfile  
    return $retval  
}  
  
stop() {  
    echo -n $"Stopping $prog: "  
    killproc $prog -QUIT  
    retval=$?  
    echo  
    [ $retval -eq 0 ] && rm -f $lockfile  
    return $retval  
}  
  
restart() {  
    stop  
    start  
}  
  
reload() {  
    echo -n $"Reloading $prog: "  
    killproc $redis -HUP  
    RETVAL=$?  
    echo  
}  
  
force_reload() {  
    restart  
}  
  
rh_status() {  
    status $prog  
}  
  
rh_status_q() {  
    rh_status >/dev/null 2>&1  
}  
  
case "$1" in  
    start)  
        rh_status_q && exit 0  
        $1  
        ;;  
    stop)  
        rh_status_q || exit 0  
        $1  
        ;;  
    restart|configtest)  
        $1  
        ;;  
    reload)  
        rh_status_q || exit 7  
        $1  
        ;;  
    force-reload)  
        force_reload  
        ;;  
    status)  
        rh_status  
        ;;  
    condrestart|try-restart)  
        rh_status_q || exit 0  
        ;;  
    *)  
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"  
        exit 2  
esac

  (2)初始化用户和日志路径

sudo useradd redis  
sudo mkdir -p /var/lib/redis  
sudo mkdir -p /var/log/redis  
sudo chown redis.redis /var/lib/redis  
sudo chown redis.redis /var/log/redis

  (3)将redis加入自启动服务

sudo chkconfig --add /etc/init.d/redis-server  
sudo chkconfig redis-server --level  345 on

 使用chkconfig --list查看添加的服务

  (4)启动服务

sudo service redis-server start

三、Redis 3.2.4的使用

redis-cli   
127.0.0.1:6379>   
127.0.0.1:6379>   
127.0.0.1:6379> keys *  
(empty list or set)

Redis的优点

性能极高 – Redis能支持超过 100K+ 每秒的读写频率。

丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。


下面是官方的bench-mark数据:

测试完成了50个并发执行100000个请求。

设置和获取的值是一个256字节字符串。

Linux box是运行Linux 2.6,这是X3320 Xeon 2.5 ghz。

文本执行使用loopback接口(127.0.0.1)。

结果:写的速度是110000次/s,读的速度是81000次/s 。

redis 3.2.4常用命令介绍

   Redis根本是使用内存存储,持久化的关键是这三条指令:SAVE BGSAVE LASTSAVE .

当接收到SAVE指令的时候,Redis就会dump数据到一个文件里面。值得一说的是它的独特功能:存储列表和集合,这是它与nosql数据库相比更有竞争力的地方。

redis 3.2.4和其它key-value数据库相比特殊的命令:

TYPE key — 用来获取某key的类型

KEYS pattern — 匹配所有符合模式的key,比如KEYS * 就列出所有的key了,当然,复杂度O(n)

RANDOMKEY - 返回随机的一个key

RENAME oldkeynewkey— key也可以改名

redis 3.2.4列表操作命令

RPUSH key string — 将某个值加入到一个key列表头部

LPUSH key string — 将某个值加入到一个key列表末尾

LLEN key — 列表长度

LRANGE key start end — 返回列表中某个范围的值,相当于mysql里面的分页查询那样

LTRIM key start end — 只保留列表中某个范围的值

LINDEX key index — 获取列表中特定索引号的值,要注意是O(n)复杂度

LSET key index value — 设置列表中某个位置的值

LPOP key

RPOP key — 和上面的LPOP一样,就是类似栈或队列的那种取头取尾指令,可以当成消息队列来使用了

redis3.2.4集合操作命令

SADD key member — 增加元素

SREM key member — 删除元素

SCARD key — 返回集合大小

SISMEMBER key member — 判断某个值是否在集合中

SINTER key1 key2 ... keyN — 获取多个集合的交集元素

SMEMBERS key — 列出集合的所有元素

还有Multiple DB的命令,可以更换db,数据可以隔离开,默认是存放在DB 0。

应用程序直接访问Redis3.2.4数据库架构

Redis 3.2.4官方下载及Redis安装完整过程介绍




本类别最新文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2015,169IT.COM,站长邮箱:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号


-->