标签:cli 读写 作用 穿透 内存 .gz code 超过 mem
redis 介绍部署官网:http://www.redis.io/
http://www.redis.cn/
http://blog.nosqlfan.com/
Remote Dictionary Server(Redis)是一个基于key-value键值对的持久化数据库存储系统,redis和大名鼎鼎的memcached缓存服务很像,但是redis支持的数据类型更加丰富,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)等。
这些数据类型都是支持push/php、add/remove及取交集、并集和差集以及更加丰富的操作,而且这些操作都是原子性的,在此基础上,redis还支持各种不同的排序,与memcached缓存服务一样,为了保证效率,数据都是缓存在内存中提供服务,和memcached不同的是,redis持久化缓存服务还会周期性把更新的数据写到磁盘已经把修改的操作记录追加到文件里记录,比memcached更有优势的是,redis还支持主从同步,这点很类似关系型数据库mysql。
redis的出现在一定程度上弥补了memcached这类key-value内存缓存服务不足,在部分场合上可以对关系型数据库起到很好的补充作用。
1.redis优点
性能很高:redis能支持超过10万每秒的读写评论
丰富的数据类型:redis支持二进制的strings,lists,hashes,set已经ordered set等数据类型操作
原子:redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性操作
丰富的特性:
主从复制:redis支持异机主从复制
2.数据类型:
string 字符串类型
list(链表)
set(集合)
zset(有序集合
hash 哈希
3.redis的应用场景
传统的mysql+memcached的网站架构遇到的问题
mysql数据库实际上是合适进行海量数据存储的,加上通过memcached将热点数据存放到内存cache里,达到加速数据访问的目的,绝大部分公司都曾经使用过这样的架构,但随着业务数量的不断增加,和访问量的持续增加,很多问题就会暴露出来
1.安装gcc环境
yum install gcc-c++
2.下载源码包并解压
wget http://download.redis.io/releases/redis-3.2.9.tar.gz
tar -zxvf redis-3.2.9.tar.gz
cd redis-3.2.9
3.安装ruby2.4.1并编译(一定要安装大于2.2.2的ruby,要不然redis在make的时候会报错)
wget http://ftp.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
tar -zxvf ruby-2.4.1.tar.gz
cd ruby-2.4.1
mkdir -p /usr/local/ruby
./configure --prefix=/usr/local/ruby
make && make install
ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby
4.安装
make
make install PREFIX=/usr/local/redis
cp redis.conf /usr/local/redis/bin/redis.conf
chmod /usr/local/redis/bin/redis.conf
5.启动redis
./redis-server redis.conf
6.验证
./redis-cli -p 6379
127.0.0.1:6379> set ab 123
OK
127.0.0.1:6379> get ab
"123"
1.在/usr/local/下面创建redis-cluster目录
mkdir -p /usr/local/redis-cluster
2.复制/usr/local/redis/bin目录到redis-cluster里面并重命名为redis1
cd /usr/local
cp -r redis/bin redis-cluster/redis1
3.redis1,redis2,redis3,redis4,redis5,redis6(必须6个节点以上才能创建集群)
分别修改为redis-7001.conf,redis-7002.conf 依次到redis-7006.conf
以redis-7001为例:
daemonize yes
port 7001
logfile "./redis-7001.log"
protected-mode no
pidfile /var/run/redis_7001.pid
cluster-enabled yes
appendonly yes
4.将redis-trib.rb复到制redis-cluster目录里面
cp /root/redis-3.2.4/src/redis-trib.rb ./redis-cluster
5.安装gem
yum install rubygems -y
6.安装ruby的redis包
gem install redis
7.分别进入redis1,redis2,redis3,redis4,redis5,redis6里面执行
./redis-server redis-7001.conf
8.用redis-trib.rb构建集群
cd /usr/local/redis-cluster/
./redis-trib.rb create --replicas 1 172.16.0.100:7001 172.16.0.100:7002 172.16.0.100:7003 172.16.0.100:7004 172.16.0.100:7005 172.16.0.100:7006
9.验证集群是否成功
./redis-cli -h 172.16.0.100 -c -p 7002
> set hello helloword
> get hello
标签:cli 读写 作用 穿透 内存 .gz code 超过 mem
原文地址:http://blog.51cto.com/redone/2167943