【Redis 1】Redis数据库的学习与实践—安装与部署
Redis数据库的学习与实践—安装与部署
一:Redis数据库简介:
Redis—Remote DictionaryServer,可以直接理解为远程字典服务。
这里摘抄一段Redis官网上的话似乎更能准确的概述Redis的含义:Redis is an open source,BSD licensed, advanced key-valuecache and store.It is often referred to as a datastructure server since keys can contain strings, hashes, lists, sets, sorted sets, bitmapsand hyperloglogs.
Redis数据库是一个高性能的key-value数据库,Redis 是完全开源免费的,遵守 BSD协议,先进的key - value持久化产品。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets)和 有序集合(sorted sets)等类型。这些数据类型都支持push/pop,add/remove及取交集和并集及更丰富的操作,Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
二:Redis数据库使用场合:
目前全球最大的Redis用户是新浪微博,在新浪有200多台物理机,400多个端口正在运行这Redis,有+4G的数据在Redis上来为新浪微博用户提供服务。
在新浪微博Redis的部署场景很多,大概分为如下的两种:
1:应用程序直接访问Redis数据库;
2:应用程序直接访问Redis,只有Redis访问失败的时候才会访问MySQL。
Redis数据库提供多种灵活的数据结构和数据操作,为不同的大数据构建不同的数据结构。
具体的适用场景:
1:取最新N个数据的请求;
2:排行榜应用,取TOP N操作;
3:需要精确设定过期时间的应用;
4:计数器应用;
5:Uniq操作,获取某段时间所有数据排重值;
6:实时系统,反垃圾系统;
7:Pub/Sub(订阅/发布)构建实时消息系统;
8:构建队列系统;
9:缓存。
Redis,Mysql,MongoDB三种数据库的比较:
不同\数据库 |
Redis |
Mysql |
MongoDB |
1 |
库 |
库 |
库 |
2 |
无 |
表 |
集合 |
3 |
无 |
字段/行/列 |
无 |
三:Redis的安装与部署:
1:下载,解压和安装:
在官网下载编译后的,适用于64位Linux系统的redis-2.8.13.tar.gz,然后拷贝至Linux系统下,并执行下列命令:
#step1 $ tar zxvf redis-2.8.13.tar.gz $ mv redis-2.8.13 redis $ cd redis $ make
#step2 $ cd redis/src $ make install |
2:启动Redis:
Redis的默认端口是:6379
#启动redis服务 $ cd redis $ cd redis/src $ redis-server
#设置redis配置文件 $ cd redis $ sudo vim redis.conf |
3:修改配置文件和设置后台运行:
首先修改redis.conf文件:
$ sudo vim reids.conf |
然后修改配置选项daemonize为yes,然后保存退出
启动redis,并设置配置文件:
$ redis-server /home/djy/toolkit/redis/redis.conf |
设置成功之后,验证是否成功:
$ ps –ef | grep redis |
运行结果显示如下:
djy 6262 2972 0 01:37 pts/1 00:00:00 redis-server *:6379 djy 9539 2972 0 02:00 pts/1 00:00:00 grep redis |
查看6379端口的状态:
$ netstat –tunpl | grep 6379 |
4:进入Redis的客户端redis-cli
$ cd src $ redis-cli |
运行后的结果如下,则表示进入客户端成功:
djy@ubuntu:~/toolkit/redis/src$ redis-cli 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> |
5:关闭redis-server
#第一种方式 $pkill redis-server #第二种方式 $redis-cli shutdown |