NoSQL数据库之Redis数据库:Redis的介绍与安装部署
NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显的力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
NoSQL的特点:
特点一:
是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准、ACID属性、表结构等等,这类数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。
特点二:
处理超大量的数据比Mysql等有优势。
运行在便宜的PC服务器集群上。
击碎了性能瓶颈。(MySQL的时候需要很多优化,但是NoSQL不需要,性能非常高)
特点三(性能方面):
对数据高并发读写。(对MySQL进行上万次读的请求可能顶得住,但是如果对MySQL进行上万次的写的时候,硬盘IO要求就比较高,效率就比较低下,但是NoSQL就比较方面。)
对海量数据的高效率存储和访问。
对数据的高可扩展和高可用性。(NoSQL可以增加一个服务器节点,使用NoSQL来做分布式比较简单,因为没有固定的表结构,所以更改比较方便)。
Redis的介绍:
Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。
Redis是一个key-value存储系统。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集和并集及更丰富的操作,Redis支持各种不同方式的序列。为了保证效率,都是缓存在内存中的,它也可以周期性的吧更新的数据写入磁盘或者吧修改操作写入追加的记录文件。
Redis的使用场合:
在新浪微博Redis的部署场景很多,大概分为如下2种:
应用程序直接访问Redis数据库。
应用程序直接访问Redis,只有当Redis访问失败时才访问MySQL
把大象装冰箱的过程:
Redis数据库提供多中灵活的数据结构和数据操作,为不同的大象构建不同的冰箱。
Redis具体的适用场景:
取最新N个数据库的操作
排行榜应用,取TOP N操作
需要精确设定过期时间的应用
计数器应用
Uniq操作,获取某段时间所有数据排重值
实时系统,反垃圾系统。
Pub/Sub构建实时消息系统(Redis独有的发布和订阅系统)
构建队列系统
缓存。
Redis的安装与部署
第一步:
Redis的官方下载站是:http://redis.io/download
最好使用Stable版本(稳定版本)。
第二步:编译源程序
tar zxvf redis-2.8.19.tar.gz
cd redis-2.8.19
make
cd src && make install (注意权限问题)
|
网上安装方式: |
|
$ wget http://download.redis.io/releases/redis-2.8.19.tar.gz $ tar xzf redis-2.8.19.tar.gz $ cd redis-2.8.19 $ make |
步骤三:
移动文件,便于管理:
mkdir –p /usr/local/redis/bin
mkdir –p /usr/local/redis/etc
mv /home/toto/redis/redis-2.8.19/redis.conf/usr/local/redis/etc/
cd src
mv mkreleasehdr.sh redis-benchmarkredis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin/ (也就是说移动的是所有的可执行的文件)
第四步:启动Redis服务:
/usr/local/redis/bin/redis-server (或者到/usr/local/redis/bin目录下,执行:./redis-server)
可以指定配置文件:
/usr/local/redis/etc/redis.conf (可以在./redis-server后面加上这个配置文件)
Redis服务端的默认连接端口是6379 (mongodb的端口号是:27017和28017端口)
第五步:
客户端连接:/usr/local/redis/bin/redis-cli (cli是client的缩写)。
退出客户端的方式是通过exit或者通过quit的方式。
步骤六:
停止Redis实例
我们可以使用/usr/local/redis/bin/redis-cli然后再
shutdown
也可以使用pkill redis-server 或者kill -9来实现。
Redis的配置:
|
daemonize:如果需要在后台运行,把该项改为yes |
|
pidfile:配置多个pid的地址默认在/var/run/redis.pid |
|
bind:绑定ip,设置后只接受来自该ip的请求 |
|
port:监听端口,默认为6379 |
|
timeout:设置客户端连接时的超时时间,单位为秒 |
|
loglevel:分为4级,debug、verbose、notice、warning |
|
logfile:配置log文件地址 |
|
databases:设置数据库的个数,默认使用的数据库为0 |
|
save:设置redis进行数据库镜像的频率。(备份数据) |
|
rdbcompression:在进行镜像备份时,是否进行压缩 |
|
dbfilename:镜像备份文件的文件名 |
|
dir:数据库镜像备份的文件放置路径 |
|
slaveof:设置数据库为其它数据库的从数据库。 |
|
masterauth:主数据库连接需要的密码验证。 |
|
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 |
查看进程的方式:ps –ef | grep “redis”
查看端口的方式:netstat -tunpl | grep 6379
-------------------------------------------------------------------------------------------------------------------------------------------------------
redis服务器安装(其他方式)
用源码工程来编译安装
1/ 到官网下载最新stable版
2/ 解压源码并进入目录 tar -zxvf redis-2.8.19.tar.gz -C ./redis-src/
3/ make
如果报错提示缺少gcc,则安装gcc : yum install -y gcc
如果报错提示:Newer version ofjemalloc required
则在make时加参数:make MALLOC=libc
4/ 安装redis,指定安装目录,如 /usr/local/redis
make PREFIX=/usr/local/redis install
6/ 拷贝一份配置文件到安装目录下
切换到源码目录,里面有一份配置文件redis.conf,然后将其拷贝到安装路径下
cp redis.conf /usr/local/redis/
7/ 启动redis
cd /usr/local/redis
bin/redis-server redis.conf
8 连接redis
另开一个xshell,然后:
#cd /usr/local/redis/
[root@hadoop redis]# bin/redis-cli
127.0.0.1:6379>
注意:为了让机器能够远程连接服务器上的redis,需要将redis.conf中的bind值改成访问机器的ip地址,不要用127.0.0.1
bin/redis-cli -h 192.168.106.81 -p 6379 通过这种方式可以连接到192.168.106.81这台服务器上的redis. 注意:若想让它能够被连同192.168.106.81这台服务器上的redis.conf的bind属性值要改成192.168.106.81
NoSQL数据库之Redis数据库:Redis的介绍与安装部署的更多相关文章
- 【redis】01Redis的介绍与安装部署
单元目标: 1.NoSQL介绍 2.Redis的介绍 3.Redis适用场合 4.Redis的安装与部署 5.Redis的数据类型 6.Redis的常用命令 7.Redis的高级应用 通过 ...
- Redis在CentOS 7上的安装部署
简介: Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集( ...
- Kafka介绍及安装部署
本节内容: 消息中间件 消息中间件特点 消息中间件的传递模型 Kafka介绍 安装部署Kafka集群 安装Yahoo kafka manager kafka-manager添加kafka cluste ...
- Storm介绍及安装部署
本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...
- hue框架介绍和安装部署
大家好,我是来自内蒙古的小哥,我现在在北京学习大数据,我想把学到的东西分享给大家,想和大家一起学习 hue框架介绍和安装部署 hue全称:HUE=Hadoop User Experience 他是cl ...
- Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)
Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...
- Redis介绍、安装部署、操作
学习连接:http://www.runoob.com/redis/redis-tutorial.html 一.Redis介绍 Redis是NoSql的一种. NoSql,全名:Not Only Sql ...
- Linux+Redis实战教程_day01_Linux介绍与安装
1.Linux介绍(了解) 1.1.Linux和Windows的区别 Linux是一款操作系统.正规开发 服务器项目部署都是放在Linux操作系统上. Windows一款操作系统,民用操作系统.娱乐. ...
- Redis的概述、优势和安装部署
Redis概述 Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案. Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使 ...
随机推荐
- Linux学习之CentOS(八)----文件与目录的默认权限与隐藏权限(转)
文件与目录的默认权限与隐藏权限 一个文件有若干个属性, 包括读写运行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是连结档 (l) 等等的属性! 要修改属性的方法在前面也约略 ...
- React-报错Warning:setState(...)on anunmounted component
一.原因 这种错误一般出现在react组件已经从DOM中移除.我们在react组件中发送一些异步请求的时候,就可能会出现这样的问题.举个例子,我们在componentWillMount中 ...
- 03_OGNL
1.值栈: 解答Struts能够直接获取属性值: 原因:Struts并不是直接通过request隐式对象中获取,而是将整个对象封装到了ValueStack值栈中,直接匹配是否存在这个属性,找到了就取出 ...
- Docker有用的资源
资源链接 Docker 主站点: https://www.docker.io Docker 注册中心API: http://docs.docker.com/reference/api/registry ...
- 2017-暑假作业-Java语言程序设计
任务列表 1.学会使用Markdown做笔记 本篇随笔就是使用的Markdown语法.养成做笔记的习惯! 参考资料: 极简MarkDown排版介绍(How to) stackedit:在线Markdo ...
- Latex:TexStudio的使用
http://blog.csdn.net/pipisorry/article/details/54565608 Texsdudio 快捷键 The keyboard shortcuts can be ...
- RX系列一 | ReactiveX根源 | 观察者模式分析
RX系列一 | ReactiveX根源 | 观察者模式分析 Rx的响应式编程算是很火了,对吧,但是我的工作基本上就不会接触,所以学习的比较晚,到现在才分享给大家,我们一点点的去学,当你看完这整个系列的 ...
- 六星经典CSAPP-笔记(12)并发编程(上)
六星经典CSAPP-笔记(12)并发编程(上) 1.并发(Concurrency) 我们经常在不知不觉间就说到或使用并发,但从未深入思考并发.我们经常能"遇见"并发,因为并发不仅仅 ...
- 永远不要在循环之外调用wait方法
1. 前言 随着摩尔定律的失效,Amdahl定律成为了多核计算机性能发展的指导.对于现在的java程序员们来说,并发编程越来越重要和习以为常.很惭愧和恐慌的是我对java的并发编程一直是只知道概念,入 ...
- Redis之(四)事务
5.1开始事务 MULTI 命令的执行标记着事务的开始: 当客户端处于非事务状态下时, 所有发送给服务器端的命令都会立即被服务器执行. Redis 的事务不可嵌套, 当客户端已经处于事务状态, 而客户 ...