初探Redis

之前使用Redis遇到一些坑,趁着还没忘,赶紧梳理总结一下。

〇、什么是Redis以及为什么要用它?

Redis是一个开源的内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件。支持多种类型的数据结构,如字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等。它还内置了复制(replication)、LUA脚本(lua scripting)、LRU驱动事件(lru eviction)、事务(transactions)和不同级别的磁盘持久化(persistence),并通过哨兵(sentinel)和自动分区(cluster)提高可用性。

其优势:

1.极高的性能,读速度是110000次/s,写速度是81000次/s

2.丰富的数据类型,而且都是基于基本数据结构,无需额外的抽象

3.所有操作都是原子性的

4.运行在内存但可以持久化到硬盘

一、下载、安装及卸载

Redis默认是在Linux下使用的,所以官网上的是Linux版本。在Windows上部署需要到githubhttps://github.com/MicrosoftArchive/redis/releases上下载,其中.msi结尾的文件是windows安装程序,可以在界面上点击下一步,.zip结尾的软件压缩包,解压后需要自己执行相关操作。这里我们下载.zip文件进行说明。

解压文件夹到某个目录下后,打开一个cmd窗口,使用cd命令切换到该目录下,输入redis-server redis.windows.conf,后面的是配置文件,可以省略,省略的话使用默认的,可以在配置文件里修改相关参数。之后会显示如下界面:


这时候另起一个cmd窗口,原来的不要关闭,否则就是把服务器端程序关闭了。

切换到redis目录下运行redis-cli -h 127.0.0.1 -p 6379

这是redis服务的默认地址和端口,接下来就可以在redis下进行相关操作了,如图所示:


但是这样需要一直开着cmd窗口,解决办法是安装成windows服务,可以设置成开机自启动或者手动启动,cmd中的命令如下:

redis-server --service-install redis.windows.conf


但是上面的命令只是以服务的形式安装好,并没有启动,启动的命令为redis-server --service-start,停止命令为redis-server --service-stop

启动和停止在上图中也可以直接进行界面操作。

卸载命令:redis-server --service-uninstall

二、使用入门

刚开始使用就是熟悉配置文件和数据结构的操作,这些命令在官方文档上都有。这里说一个我在使用过程中的一个小插曲。

我在一个Java Web中使用了Redis来存储点赞信息,但每次重启项目后上一次操作的点赞信息就会消失,说明数据并没有持久化,而且还有这样的提示:

MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk

网上查了一下,一些说法是"config set stop-writes-on-bgsave-error no",这样做只是让程序忽略了这个异常得以运行下去,但实际数据还是没有存储到硬盘上。

后来在网上找到了其他一些办法比如第四个参考链接还是没有解决,最后把redis卸载重装就好了。。。

参考文献:

http://www.runoob.com/redis/redis-intro.html

http://www.runoob.com/redis/redis-install.html

https://www.cnblogs.com/herry52/p/5938902.html

https://www.cnblogs.com/qq78292959/p/3994349.html