redis安装配置及参数解析

redis简介

redis定义

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

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

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。

Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。

redis特点

Redis从它的许多竞争继承来的三个主要特点:

1).Redis数据库完全在内存中,使用磁盘仅用于持久性。

2).相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。

3).Redis可以将数据复制到任意数量的从服务器。

redis优势

异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。

支持丰富的数据类型:Redis支持最大多数开发人员已经知道像列表,集合,有序集合,散列数据类型。这使得它非常容易解决各种各样的问题,因为我们知道哪些问题是可以处理通过它的数据类型更好。

操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。

多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。

redis安装配置

redis安装

cd /home/tools
wget http://download.redis.io/releases/redis-3.0.3.tar.gz
tar xf redis-3.0.3.tar.gz
cd redis-3.0.3
make
make install
cp redis.conf /etc/
ln -s /home/tools/redis-3.0.3 /home/redis

redis命令介绍

make install命令执行完成后,会在/usr/local/bin目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 、redis-check-dump:它们的作用如下:

redis-server:Redis服务器的daemon启动程序

redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

redis-check-aof:数据修复

redis-check-dump:检查导出工具

修改系统配置文件

echo vm.overcommit_memory=1 >> /etc/sysctl.conf
sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory

使用数字含义

0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

2,表示内核允许分配超过所有物理内存和交换空间总和的内存。

redis配置文件参数

daemonize yes       #是否以后台daemon方式运行
pidfile /var/run/redis.pid      #pid文件位置
port 6379      #监听端口号
tcp-backlog 511      #listen队列的长度
bind 192.168.2.10      #绑定ip地址,多个ip用空格分隔
timeout 0      #客户端空闲多少s后踢掉,0禁止
tcp-keepalive 0      #检测挂掉的连接,单位s,0禁止
loglevel notice      #日志的等级,debug,verbose,notice,warning
logfile "/home/log/redis"      #log文件的路径,为空的话直接显示在终端
databases 16      #redis中有多少个数据库

#将redis内存数据序列化到磁盘的时间和频率,900s有1个key改变就会序列化
save 900 1
save 300 10
save 60 10000

stop-writes-on-bgsave-error yes      #序列化的时候是否停止写操作
rdbcompression yes      #序列化的数据是否压缩
rdbchecksum yes      #序列化的数据是否校验其完整性
dbfilename dump.rdb      #序列化的文件名,只是文件不能带目录
dir /tmp      #序列化文件的目录

#以下是主从备份
# slaveof <masterip><masterport>
# masterauth <master-password>
slave-serve-stale-data yes
slave-read-only yes
# repl-ping-slave-period 10
# repl-timeout 60
repl-disable-tcp-nodelay no
# repl-backlog-size 1mb
# repl-backlog-ttl 3600
slave-priority 100
# min-slaves-to-write 3
# min-slaves-max-lag 10

#客户端连接的密码
requirepass 123456

#限制客户端的数量
# maxclients 10000
#设置最大可用内存
# maxmemory <bytes>
#内存替换算法
# maxmemory-policy volatile-lru
#maxmemory-samples 3

启动redis

redis-server /etc/redis.conf

**检查是否启动成功

ps -ef |grep redis 或lsof -i:6379

添加启动脚本并加入开机启动

cd /home/scripts/

redis.sh

#!/bin/sh
# chkconfig: 2345 21 60      #定义开关机优先顺序,加入chkconfig必要配置
# description:redis start and stop and restart in chkconfig
. /etc/init.d/functions
function start(){
if [ ! -f /var/run/redis.pid ]
  then
    /usr/local/bin/redis-server /etc/redis.conf
    if [ $? -eq 0 ]
          then
        action "starting redis..." /bin/true
      else
        action "starting redis..." /bin/false
    fi
  else
    echo "redis is running"
    exit
fi
}
function stop(){
if [ -f /var/run/redis.pid ]
  then
PID=`cat /var/run/redis.pid`
    kill $PID
        if [ $? -eq 0 ]
          then
                action "stoping redis..." /bin/true
          else
                action "stoping redis..." /bin/false
        fi
  else
    echo "redis is stoped"
fi
}
case $1 in 
start)
    start
    sleep 1
    ;;
stop)
    stop
    sleep 1
    ;;
restart)
    stop
    sleep 1
    start
    ;;
*)
    echo "$0 please input {start|stop|restart}"
    exit
esac

添加执行权限

chmod +x redis.sh

添加到/etc/init.d/

cp redis.sh /etc/init.d/redis

添加开机自启动

chkconfig redis on
chkconfig redis --list
redis           0:off   1:off   2:on    3:on    4:on    5:on    6:off
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • 转载地址:http://gnucto.blog.51cto.com/3391516/998509 Redis与Me...
    Ddaidai阅读 21,441评论 0 82
  • 1 Redis介绍1.1 什么是NoSql为了解决高并发、高可扩展、高可用、大数据存储问题而产生的数据库解决方...
    克鲁德李阅读 5,265评论 0 36
  • 要说周泽楷的心上人是谁,众人支支吾吾连猜带蒙能蹦出来各种稀奇古怪的答案。但要是问谁对周泽楷的追求最火热,那大家绝对...
    绒毛绒毛阅读 3,850评论 0 5
  • 分手,该不该当面说,这是《奇葩说》上上周的一个辩题,理性与感性的碰撞,看的感动不已,也让我重新对分手有了新的认识,...
    末安笙阅读 1,062评论 3 10