非关系型数据库--redis的介绍及必备语法

一、非关系型数据库(NoSQL)是一项目前很流行的数据库理念。

为什么我们用的好好地mysql和oracle不行呢,原因是随着时代的不断发展,目前网站的并大量大的惊人,就像今年双十一仅仅三分钟淘宝的销售额就突破100亿元,这么庞大的并发量显然是传统关系型数据库所无法承受的。

目前传统关系型数据库主要暴露出了如下三个问题:

1.对数据库的高并发读写的需求。

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

3.对数据库的高扩展性和高可用性的需求。

 针对这些问题我们设计出来NoSQL型数据库。Resid就是其中最流行的一种之一。

二、Redis是一种键值(key-value)存储数据库。

主要用途:是用于处理大量数据的高访问负载。

存储结构:一系列键值对。

优势:快速查询。

劣势:存储的数据缺少结构化。所以不能完全替代关系型数据库,需要结合使用。

特点:

1.易扩展:由于去掉了关系型数据库的关系型特性,数据之间无关系所以就容易扩展。

2.大数据量,高性能:得益于无关系性,数据存储比较简单。redis的数据读写能力很强,大数据量下也有很好的表现。

3.灵活的数据类型:NoSQL无需为要存储的数据建立字段,增删字段要方便一些。

4.高可用:NoSQL在不太影响性能的

应用场景:

1.  缓存(数据查询)

2.任务队列(秒杀,团购)

3.应用排行榜

4.网站访问统计

三、redis支持的键值数据类型

1.字符串类型(String)

2.散列类型(hash)

3.列表类型(list)

4.集合类型(set)

5.有序集合类型(sorted set)

四、redis数据结构的基本操作。

有关redis在linux上的安装我已经在另一篇文章中做了介绍。Redis在Linux服务器的安装

1.字符串(string)类型(最常用,一般与json连用),最大数据长度可存512MB。

常用操作:

增/改: set 键名 值

查:get 键名

删:del 键名

2.散列(hash)类型(一般会被json+string替代)

常用操作:

增/改:hset 键名 域名1 域值1 域名2 域值2 。。。

查:hget 键名 域名

删:hdel 键名 域名

3.列表(list)类型(按照插入顺序排序)

常用操作:

两端添加:

    从头部添加:lpush 键名 键值1 键值2。。。

    从尾部添加:rpush 键名 键值1 键值2。。。

两端添加(键名存在时生效,只能添加一个值)

    从头部添加:lpushx 键名 键值

    从尾部添加:rpushx 键名 键值

查看列表:

lrange 键名 元素开始值 元素结束值(0为首,-1为尾)

两端删除(弹出):

    弹出首元素:lpop 键名

    弹出尾元素:rpop 键名

删除对应个数的键值:

lrem 键名 数量 键值

获取列表元素数量:

llen 键名

4.集合(set)类型(可以去重,无序)

添加元素:sadd 键名 键值1 键值2 。。。

查看成员元素:smembers 键名

查看指定成员元素是否存在:sismember 键名 键值

查看集合成员数量:scard 键名

删除多个元素:srem 键名 元素数量

删除随机元素并返回: spop 键名

5.有序集合(sortset)类型(去重,有序,常应用在排名,排行榜):

添加元素:zadd 键名 分数1 键值1 分数2 键值2 。。。//注分数可重复,键值不可重复

修改元素:zadd 键名 新分数 旧键值 //将已有的数据进行分数修改。

查看所有信息:zrange 键名 开始值 结束值

查看元素分数: zscore 键名 键值

查看集合中的成员数量:  zcard  键名

查询范围:zrange 键名 开始值 结束值

删除元素:zrem 键名 键值1 键值2 。。。

 

 

你可能感兴趣的:(Redis)