NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显的力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。

NoSQL的特点:

特点一:

是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准、ACID属性、表结构等等,这类数据库主要有以下特点:非关系型的、分布式的、开源的、水平可扩展的。

特点二:

  1. 处理超大量的数据比Mysql等有优势。

  2. 运行在便宜的PC服务器集群上。

  3. 击碎了性能瓶颈。(MySQL的时候需要很多优化,但是NoSQL不需要,性能非常高)

特点三(性能方面):

  1. 对数据高并发读写。(对MySQL进行上万次读的请求可能顶得住,但是如果对MySQL进行上万次的写的时候,硬盘IO要求就比较高,效率就比较低下,但是NoSQL就比较方面。)

  2. 对海量数据的高效率存储和访问。

  3. 对数据的高可扩展和高可用性。(NoSQL可以增加一个服务器节点,使用NoSQL来做分布式比较简单,因为没有固定的表结构,所以更改比较方便)。

Redis的介绍:

  1. Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。

  2. Redis是一个key-value存储系统。它支持存储的value类型很多,包括string(字符串)、list(链表)、set(集合)、zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集和并集及更丰富的操作,Redis支持各种不同方式的序列。为了保证效率,都是缓存在内存中的,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。

Redis的使用场合:

在新浪微博Redis的部署场景很多,大概分为如下2种:

  1. 应用程序直接访问Redis数据库。

  1. 应用程序直接访问Redis,只有当Redis访问失败时才访问MySQL

把大象装冰箱的过程:

Redis数据库提供多中灵活的数据结构和数据操作,为不同的大象构建不同的冰箱。

Redis具体的适用场景:

  1. 取最新N个数据库的操作

  2. 排行榜应用,取TOP N操作

  3. 需要精确设定过期时间的应用

  4. 计数器应用

  5. Uniq操作,获取某段时间所有数据排重值

  6. 实时系统,反垃圾系统。

  7. Pub/Sub构建实时消息系统(Redis独有的发布和订阅系统)

  8. 构建队列系统

  9. 缓存。

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/ 解压源码并进入目录

cd /home/tuzq/software

mkdir redis-src

tar -zxvf redis-3.2.5.tar.gz -C ./redis-src/

/home/tuzq/software/redis-src/redis-3.2.5

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   (如果想后台进程运行,修改:daemonize yes)

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

1、如果想远程访问redis,需要对redis配置ip

配置的方式是:

cd /usr/local/redis

vim redis.conf

将bind的id换成真实的ip地址,比如:

bind 192.168.106.81

2、在集群配置中,要对redis配置密码,修改的配置是:

cd /usr/local/redis

vim redis.conf

requirepass accountOne    (这里设置一个密码:accountOne)

3、另外若想远程访问,需要将6379的防火墙端口号放开

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

4、通过桌面客户端连接验证的方式:

NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)相关推荐

  1. centos 启动一个redis_linux环境下安装部署redis服务器

    概述 Redis是Remote Dictionary Server的缩写.他本质上一个Key/Value数据库,与Memcached类似的NoSQL型数据库.今天把之前在生产环境下安装部署redis的 ...

  2. Redis在CentOS 7上的安装部署

    http://www.linuxidc.com/Linux/2017-05/143312.htm   不能更赞了 简介: Redis是一种高级key-value数据库.它跟memcached类似,不过 ...

  3. Storm介绍及安装部署

    本节内容: Apache Storm是什么 Apache Storm核心概念 Storm原理架构 Storm集群安装部署 启动storm ui.Nimbus和Supervisor 一.Apache S ...

  4. Kylin快速入门系列(1) | Kylin的简单介绍及安装部署

      大家好,我是不温卜火,是一名计算机学院大数据专业大二的学生,昵称来源于成语-不温不火,本意是希望自己性情温和.作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己 ...

  5. Linux 下载安装部署 Redis

    文章目录 Redis简介 Redis的安装及启动 Redis 性能测试 Redis 操作 Redis的数据类型 Redis Key 操作命令 String List Set Zset(有序集合) Ha ...

  6. Redis主从复制、哨兵、Cluster安装部署

    文章目录 1.主从复制(Replication) 1.1.部署主从复制 1.1.1.环境说明 1.1.2.安装步骤 1.2.配置主从 1.3.主从复制优缺点 2.哨兵(Sentinel) 2.1.部署 ...

  7. Linux安装部署Redis

    文章目录 1. 前言 2. 下载Redis 3. 解压并安装Redis 4. 修改redis.conf的参数配置 5. 使用redis启动脚本设置开机自启动 6. 其他redis.conf配置 7. ...

  8. Redis practise(二)使用Docker部署Redis高可用,分布式集群

    思路 鉴于之间学习过的Docker一些基础知识,这次准备部署一个简单的分布式,高可用的redis集群,如下的拓扑 tuopu.png 下面介绍下,对于这张拓扑图而言,需要了解的一些基础概念. Redi ...

  9. docker redis 配置文件_Docker在一台机器部署redis哨兵模式——完整步骤和截图

    本文记录本人在一台机器上配置一主两从三哨兵redis哨兵模式 一.环境 操作系统:centos7 docker版本:1.13.1 二.操作 docker安装redis docker pull redi ...

最新文章

  1. oracle修改表字段约束条件,Oracle创建表、修改表、删除表、约束条件语法
  2. GridView 设置背景透明以及Item的点击动画
  3. 《圈圈教你玩USB》之 USB键盘 【串口输出】
  4. html5手指点击速度,CPS手速测试 - 鼠标点击速度测试插件
  5. ruby入门教程:入门ruby的方法
  6. linux查看硬盘插槽_Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
  7. 负载均衡器/LB - 学习/实践
  8. 贼好用的对比工具--BeyondComper
  9. 互联网思维——平台思维
  10. 编译程序和解释程序的本质
  11. 数学连乘和累加运算符号_3,7,5之间加数学运算符号使结果等于8?
  12. jQuery基础(二)
  13. 关于地方美食的HTML网页设计——地方美食介绍网站 HTML顺德美食介绍 html网页制作代码大全
  14. “四”才是中国人的吉祥数字!
  15. 人脑如果是台计算机,那么电从哪里来?
  16. c语言实验--正弦,C语言实验——正弦
  17. 伊朗APT组织的网络间谍工具源代码和攻击者被泄露和曝光
  18. visual studio 2019 分屏
  19. KLMS 算法应用——非线性信道均衡
  20. 大乐透号码生成器python_python-用random简单生成大乐透和双色球彩票

热门文章

  1. 爬虫实战:Requests+BeautifulSoup 爬取京东内衣信息并导入表格(python)
  2. jdk1.8 源码分析导图
  3. wxWidgets 示例演示 wxWizard 控件
  4. wxWidgets:wxArray<T>类用法
  5. boost::sort模块实现跨并行线程的整数排序速度基准的测试程序
  6. boost::math::find_location用法的测试程序
  7. boost::geometry模块变换多边形的测试程序
  8. boost::gregorian模块实现月末日的测试程序
  9. GDCM:gdcm::Image的测试程序
  10. boost::contract模块实现observer观察者的测试程序