1.NoSQL的介绍
在介绍redis之前,我们先来了解一下NoSQL(Not only SQL),不仅仅是SQL。
NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系型数据库在应付web2.0网站,特别是超大规模和高并发的SNS(社交网络服务)类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据类型带来的挑战,尤其是大数据应用难题。
为什么需要NoSQL,主要应对以下问题,传统关系型数据库的力不从心:
-
高并发读写(High performance)
-
海量数据的高效率存储和访问(Huge Storage)
-
高可扩展性和高可用性(High Scalablility && High Availability)
NoSQL的特点:
1) 易扩展
2) 灵活的数据模型
3) 大数据量,高性能
4) 高可用
2.redis简介
NoSQL主流的产品:MongoDB,redis等,目前Redis是最受欢迎的。
Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值NoSQL数据库。
Redis从一开始只支持linux系统,只是后来开始支持window系统.
Redis的特征:
-
键值(key-value)型,value支持多种不同数据结构,功能丰富
-
单线程,每个命令具备原子性
-
低延迟,速度快(基于内存、IO多路复用、良好的编码)
-
支持数据持久化
-
支持主从集群、分片集群
-
支持多语言客户端
Redis的应用的场景:
-
缓存
-
任务队列
-
网站访问统计
-
数据过期处理
-
应用排行榜
-
分布式集群架构中的session分离
3.redis数据结构
Redis是一个key-value的数据库,key一般是String类型,不过value的类型多种多样
4.Redis常见命令
1)String
1.赋值:set
2.取值:get
3.删除:del
4.自增:incr
5.自减:decr
6.查看所有key值:keys *
2)Hash
1.赋值:hset
2.取值:hget
3.删除:hdel
4.增加数字:hincrby
5.判断key是否存在 :hexists
6.获取hash属性的个数:hlen
7.获取所有属性的属性名:hkeys
8.获取所有的属性的值:hvals
我在这俩就说这两种吧,大家想了解更多命令的可以输入help @数据结构名
他回把该数据结构的所有命令列举下来,比我这里更加详细。