1.Redis的简介?
1.什么是redis Redis属于非关系型数据库,是一个完全开源免费的一个高性能的key-value数据库。它是基于内存的数据库,读写数据的效率极高。
2.为什么要有redis 早期互联网公司都是通过MySql这种关系型数据库来对外提供服务,但是随着互联网的快速发展,应用系统的访问量也越来越大,MySql等关系型数据库的性能瓶颈也越来越明显,主要体现在磁盘IO性能方面,MySql等关系型数据库会将数据存放在磁盘当中,磁盘的IO速度与内存相比是非常慢的,又是就有了redis这种基于内存的数据存储系统。
- redis不能用来持久性存储,因为redis数据放在内存,一旦断电就会数据缺失,
把经常使用的数据放在redis中,不经常使用的放在mysql中,这样速度会变快
- 非关系型数据库:
①:什么非是关系型数据库
非关系型数据库以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,不局限于固定的结构,可以减少一些时间和空间的开销。
②:关系型数据库的优点
- Nosql的存储格式是key,value形式、文档形式、图片形式等等,所以可以存储基础类型以及对象或者是集合等各种格式,而数据库则只支持基础类型。
- 关系型数据库有类似join这样的多表查询机制的限制导致扩展很艰难。Nosql基于键值对,数据之间没有耦合性,所以非常容易水平扩展。
- 非关系型数据库一般强调的是数据最终一致性,不像关系型数据库一样强调数据的强一致性,从非关系型数据库中读到的有可能还是处于一个中间态的数据,Nosql不提供对事务的处理。
③:非关系型数据库的缺点- 只适合存储一些较为简单的数据,对于需要进行较复杂查询的数据,关系型数据库显得更为合适。
- 不适合持久存储海量数据,因为一般是内存型数据库
- Redis支持的数据类型
基本数据类型
- String(字符串):Redis最基本的数据类型,一个键对应一个值,一个键值最大存储512MB
- Hash(哈希):hash是一个键值对的集合,是一个String类型的field和value的映射表,适合用于存储对象
- List(列表):是redis的简单的字符串列表,按插入顺序排序
- Set(集合):是String字符串类型的无序集合,也不可重复
- ZSet(sorted set 有序集合):是String类型的有序集合,也不可重复。有序集合中的每个元素都需要指定一个分数,根据分数对元素进行升序排序。 高级数据类型
- 消息队列
- 地理空间
- HyperLogLog
- 位图
- 位域
2.使用
- 官网下载,记住下载到哪了,本例子下载到D:Redis
- 在终端以管理员的身份运行,开启服务端
- 连接代码:
redis-server.exe redis.windows.conf
我这显示报错,是因为端口号被占用
根据下面的代码去查所有
netstart -ano
例子中被占用的端口号是6379找到他的PID是6340
找到他的pid,输入下面的代码,终止程序
taskkill /F /PID 6340
然后在输入命令连接服务器即可
服务端已经启动
3.开启客户端
在重新以管理员身份运行终端,之前的不要点关闭,重新开个窗口