Redis——基础
很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章。
因这个系列的文章涉及的范围太大了,后面更新不一定会按目录顺序进行,但并不会影响阅读。
最近几年随着电商行业的飞速发展,高可用、高并发、高性能的要求不断提高,Redis火的不要不要的,甚至各种人才招聘的要求中不断出现要会Redis。
不了解感觉这些东西都是大牛们才会的,其实并非那么难学,只要用心,没有学不会的东西。
1、Redis是什么?
Redis 是一种非关系型数据库(也就是NoSql,泛指非关系型数据库)。它是一个Key-Value(键-值)存储系统。
这个Value不只是String类型,还包括List,Hash,Dictionary等等。
Redis支持网络、基于内存,还可以持久化的高性能的数据库,再通俗点说,就是你可以把它当用作数据缓存,也可以当成一个数据库使用,因为可以持久化。
Redis是一个开源项目,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等众多语言客户端。
Redis的官网:redis.io
2、哪些项目使用Redis?
国内新浪、淘宝,国外像 Flickr、Github等均在使用Redis的缓存服务。还有很多很多。。。真的火的不要不要的。。
3、关于Redis的疑问?
(1).为什么我不直接使用List,Hash,Dictionary这些数据结构缓存数据呢?
a.这些数据结构是可以缓存,但不能直接跨网络或说是跨服务器使用。
b.不能直接持久化,你必须序列化以后写入磁盘(或是数据库),而Redis本身就是个数据库,并且支持这些数据结构持久化。
(2).Resis能干啥?
a.数据库(DataBase):前面说了,它是一个Key-Value的存储系统,可以持久化数据,当然可以当数据库使用。
b.缓存(Cache):它也是一个基于内存,支持网络,还有一个特性就是高性能,因此在这个时间就是生命的年代,众多爱好Redis的朋友就拿它缓存数据。不但支持的数据类型多,还支持网络数据共享。
c.消息代理(Message Broker):Redis支持消息代理,支持主从服务器同步,还有阻塞队列的命令,能够让一个程序在执行时被另一个程序添加到队列。因此消息队列实现变得简单,而且具有较高性能。
除此之外,还有很多场景可以使用,后面慢慢介绍。
后面详细介绍Redis的安装及在项目的使用。