什么是Redis
Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。
Redis 可以存储键和五种不同类型的值之间的映射。键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。
关键词:使用c语言编写,开源,可持久化,高性能,非关系型key-value数据库
首先下载我就不说了,下载完解压缩后是这样
在此页面shift加鼠标右键进入powershell
输入redis-server.exe redis.windows.conf(有的时候可能会需要前面加.\)
重新回到页面shift加鼠标右键另开一个进入powershell(上面不要关)
输入redis-server --service-install redis.windows-service.conf --loglevel verbose(有的时候可能会需要前面加.\)
不报错的话就没事,报错需要去服务改,密码的话不强制需要设置,可以不管(我这边已经打开了就不给图了)
此时已经可以了,但是每次使用都需要手动启动服务,并且后台一清就不能用了,所以我们需要去设置。
电脑右键——管理——服务,找到Redis,启动,如果启动不了,找到Redis目录,新建文件夹Logs,更改redis.windows-service.conf里的一个地方,如图第二个Logs/redis_txt
保存后全部关闭,再找到服务启动就行了,两个powershell都得关闭
图形化界面就不说了,真开发很少用,一般都是命令
5种类型很好理解,哈希表,双向链表,字符串,集合,有序集合
还有就是Redis是运行在内存上的,所以它速度很快,但是这也决定了如果说内存不小心中断,数据就没了,如何处理这个问题呢,这就引出了Redis的可持续化了,也就是RDB和AOF
那RDB和AOF又是啥,有什么区别呢?
RDB:简单点说就是每隔一段时间就把数据库所产生的结果保存在磁盘,相当于备份。
AOF:保留执行语句,下次再打开就会从头执行一遍语句。
RDB就是把结果保存在磁盘,AOP是把语句保存
那么就会有新的问题。RDB每隔一段时间保存一次,比如我每隔5秒备份一次,在2秒的时候电脑死机了,那0到2秒的数据就丢失了,对于数据量大的程序2秒的时间好多数据就没了,而AOP就不会出现这种问题。
但是AOP每次都存一次,次数多了内容过多,会拖慢进程,重复数据也会多次执行,那对电脑硬盘占的空间不是很大?解决方法就是在语句存入磁盘中间加入一个缓冲带,也就是AOF重写,它会把语句先放在缓冲区,等一段时间后对这些语句统一整理执行