NoSQL之Redis学习笔记(一)

来源:互联网 发布:网站数据加密 编辑:程序博客网 时间:2024/05/17 09:01

学习目标

    一 NoSQL的介绍

    二 Redis的介绍

    三 Redis适用场合

    四 Redis的安装与部署

    五 Redis的数据类型

    六 Redis的常用命令

   七 Redis的高级应用


一 NoSQL介绍

NoSQL = Not Only Sql,意为反SQL运动,它指的是非关系型数据库。

NoSQL是以key-value形式存储的,不一定遵循传统数据库的一些基本要求,比如遵循SQL标准(增删改查),ACID(事务管理)属性,表结构等等。

特点:非关系型的,分布式的(主从分离,读写分离),开源的,水平可扩展。

1,处理超大量的数据。

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

3,击碎了性能瓶颈。

NoSQL适用场景:

1,对数据高并发读写

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

3,对数据的高可扩展性和高可用性(分布式很轻松,没有固定的表结构)

 

二 Redis介绍

Redis是一个开源的,先进的key-value存储,通常被定义为数据结构服务器,因为键可以包含字符串,哈希,链表,集合,和有序集合。这些数据类型都支持push/pop,add/remove级取交集和并集及更丰富的操作,Redis支持各种不同方式的排序。

为了保证效率,数据都是缓存在内存中(有风险),他也可以周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。

 

三Redis适用场合:

目前全球最大的Redis用户是新浪微博,在新浪有200多台物理机,400多个端口正在运行着Redis,有4g+的数据在Redis上来为微博用户提供服务。

部署场景:

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


2,应用程序直接访问Redis,只有当Redis访问失败时才访问Mysql(常用)


举例说明mysql与redis的区别:

把大象装冰箱的过程:(mysql瓶颈不够,存不下海量数据)

1,打开冰箱门

2,把大象装进去

3,把冰箱门关上


(redis:为不同的大象,构建不同的冰箱)


具体使用场景

1,去最新N个数据的操作(最新的500个文章 )

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

3,需要精确设定过期时间的应用(键可以设置过期时间)

4,计数器应用(新浪主要用于这个)

5,Uniq操作,获取某段时间所有数据排重值(唯一操作)

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

7,Pub/Sub构建实时消息系统

8,构建队列系统

9,缓存


Redis的安装与部署(环境:Vmware Centos)



0 0
原创粉丝点击