文章插图
redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库——维基百科可以简单的说,Redis就是一款高性能的NoSQL数据库
文章插图
Redis学习笔记(后台私信【Redis】免费领取)
01 什么是NoSQL?我们前面所学习的MySQL数据库是典型的的SQL数据库也就是传统的关系型数据库,而我们今天学习的Redis数据库则是一款NoSQL数据库,也叫作非关系型数据库,它与我们熟悉的MySQL等的概念完全是不一样的,它是一项全新的数据库理念,我们帖一组百度百科的解释
【Redis:从认识安装到实现CURD】NoSQL,泛指非关系型的数据库 。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展 。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难题——百度百科说明:我们现在所看到的的博客,RSS,P2P,微博,抖音等均属于 Web2.0的产物,Web2.0相比较过去的Web1.0更加注重于用户的交互,用户不仅可以浏览,还可以上传一些资源到网站上,例如图片文字或者说短视频等,使得用户也参与到了网站内容的制造中去了
02 为什么使用NoSQL?
- 部署成本低:部署操作简单,以开源软件为主
- 存储格式丰富:支持 key-value形式、文档、图片等众多形式,包括对象或者集合等格式
- 速度快:数据存储在缓存中,而不是硬盘中,而且例如Redis基于键值对,同时不需要经过SQL层解析,性能非常高
- 无耦合性,易扩展
- 在SQL中,一个正在使用的数据是不允许删除的,但NoSQL却可以操作
在我看来,可以简单的说,NoSQL就是以功能换取性能,但是需要处理复杂的业务逻辑还需要使用关系型数据库,所以说想要在模型中完全用NoSQL替代SQL是不现实的,两者更像是互补的关系
SQL的好处:
- 支持在一个表以及多表之前进行复杂的查询操作
- 支持对事物的处理,能保证数据的安全要求
- 学习成本低,资料较多
市面上的NoSQL产品非常多,我们今天所要介绍的就是其中一款基于键值存储的数据库——Redis04 初识Redis我们在一开始提到了,Redis就是一款高性能的NoSQL数据库,那么它的应用场景是什么呢?
文章插图
Redis学习思维导图(xmind)后台私信【Redis】免费领取
- 用于用户内容缓存,可以处理大量数据的高访问负载,例如:数据查询,新闻,商品内容
- 任务队列,例如:秒杀,12306
- 在线好友列表
- 应用、网站访问统计排行
- 字符串类型 - String
- 列表 - list:linkedlist
- 集合 - set
- 有序集合 - sortedset
- 哈希 - hash:map
官网:redis.io
由于官网访问速度过慢,我们可以访问对应的中文网:www.redis.net.cn
下载,解压,编译:
$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz$ tar xzf redis-5.0.4.tar.gz$ cd redis-5.0.4$ make二进制文件是编译完成后在src目录下. 运行如下:
$ src/redis-server你能使用Redis的内置客户端进行进行redis代码的编写,例如我们存入一个键值 name-zhangsan
$ src/redis-cliredis> set name zhangsanOKredis> get name"zhangsan"5.2 windows
我们可以去github中寻找windows版本,不过版本会有所滞后
github.com/microsoftar…
解压即可用