什么是NoSQL?

NoSQL,被称为非关系型数据库,区别于关系数据库,它们不保证关系数据的ACID特性。其优点是适用于高并发的读写操作,高响应,易扩展,高可用等特点。

为什么要用nosql

随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统数据库上都开始出现了性能瓶颈,web程序不再仅仅专注在功能上,同时也在追求性能。web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存在对高并发写请求的需求,例如新浪微博的某个明星的一次微博可能会有上百万次,上千万次的点赞及评论,在关系型数据库来说就是上千万条sql,根本顶不住这么频发的操作。而nosql的出现就解决的诸多问题。

4种非关系型数据库之间的对比

使用nosql的优势 nosql的好处_使用nosql的优势

redis的数据类型

redis一共适用于五种数据类型,分别是string,list,set,hash,zset。以key-value的形式存储。

数据结构图

使用nosql的优势 nosql的好处_使用nosql的优势_02


Redis的应用场景

1、高访问的数据的缓存

由于redis访问速度块、支持的数据类型比较丰富,所以redis很适合用来存储高访问数据,结合expire,我们可以设置过期时间然后再进行缓存更新操作

2、定时业务的运用

redis中可以使用expire命令设置一个键的生存时间,到时间后redis会删除它。利用这一特性可以运用在登录时长、手机验证码等业务场景。

3、计数器相关问题

redis由于可以实现原子性的递增,所以可以运用于高并发的秒杀活动

4、点赞,好友等功能

Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,所以可以应用在点赞和好友等不能重复的数据处理上。Redis在linux服务器上的部署

进入官网找到下载地址 https://redis.io/download

下载一个redis安装包,我选的是redis-3.2.9.tar.gz

1.cd /usr/local 去usr/local 路径下
 2.Mkdir azb 创建一个文件夹用来存放redis安装包
 3.cd azb 去azb目录下
 4.rz redis-3.2.9.tar.gz 上传redis压缩文件
 5.tar zxf rz redis-3.2.9.tar.gz-C /usr/local/ 解压在usr/local 路径下
 6.cd /usr/local/
 7.Mv redis-3.2.9 redis 修改redis-3.2.9的名字为redis
 8.Cd redis 进入redis目录下
 9.Make 
 10.Make install
 11.Mkdir etc 在redis目录下创建etc目录 存放redis.conf
 12.Mkdir bin 在redis目录下创建bin目录 存放其他文件
 13.mv redis.conf /usr/local/redis/etc/
 14.mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server /usr/local/redis/bin/
 15…/redis-server 启动redis
 设置后台启动redis
 首先编辑conf文件,将daemonize属性改为yes(表明需要在后台运行)
 cd etc/
 vim redis.conf

使用nosql的优势 nosql的好处_使用nosql的优势_03


将no修改为yes

再次启动redis服务,并指定启动服务配置文件

redis-server /usr/local/redis/etc/redis.conf

使用nosql的优势 nosql的好处_数据库_04