redis使用总结

    xiaoxiao2021-03-26  36

    1、下载:

    项目地址:https://github.com/MSOpenTech/redis

    下载地址:https://github.com/MSOpenTech/redis/releases

    注意,要下载zip版的,不要下载msi版的。

    2、安装:

    解压,拷贝到e盘根目录,文件夹改名为redis(把版本号之类的干掉),即完成安装。

    3、启动:

    打开cmd,进入redis,输入命令redis-server.exe  redis.windows.conf,回车,即启动完成。

    出现一个正方形盒子图案,即使启动成功。

    否则启动失败。

    在开发环境下,要用管理员身份打开cmd,才可启动成功。如果是服务器环境,本身就是管理员身份,就不需要特别这样做。

    4、测试:

    另开一个cmd,进入redis,输入命令redis-cli.exe,回车,即进入redis操作状态。

    输入set age 21,会返回OK,表示写入成功。

    输入get age,会返回21,表示取值成功。

    测试完成。

    如果要连接的不是本地,或者端口已经改变,发现连不上,应该这样:

    redis-cli.exe -h 主机IP -p 新端口号

    比如,假设端口已经改为666,那么应该这样写:

    redis-cli.exe -p 666

    这样就可以连上了

    5、持久化:

    <1>AOF:

    在redis.windows.conf里修改:

     

    appendonly yes

     

    即可,会在程序文件夹下生成一个appendonly.aof文件,也就是日志文件,数据会存放在这个文件里。

    <2>RDB:

    默认会在程序文件夹下创建名为dump.rdb的数据快照。快照的逻辑如下:

     

    #900秒后且至少1个key发生变化时创建快照 save 900 1 #300秒后且至少10个key发生变化时创建快照 save 300 10 #60秒后且至少10000个key发生变化时创建快照 save 60 10000

    可以通过注释掉save来禁止创建快照。

     

     

    <3>什么是RedisQFork.dat:

    这是redis的内存映射,当redis启动的时候就会创建这样一个文件,当关闭的时候这个文件也就消失了。这个文件就是把内存的数据写到里面,做一个映射。

     

    当数据越多这个bat也就越大,就会占用c盘的空间,解决的办法是将路径改为其他盘。

    注意:我下载的3.2版本没找到heapdir,而且自己设置heapdir e:\redis\然后启动会报错,未知的参数heapdir,另外整个电脑找不到RedisQFork文件,我怀疑新版的redis已经废弃了这种映射。 为了测试下载了2.8版本,确实有heapdir选项。

    6、开机启动:

    把redis配置为服务:

    以管理员身份打开cmd,进入e盘,输入:

     

    E:\redis\redis-server.exe --service-install E:\redis\redis.windows.conf --loglevel verbose

    回车,服务就创建完成了。

     

    可以打开运行-services.msc-可以看到Redis服务。

    重启电脑,Redis已经启动。可以打开redis-cli测试。

    删除服务:

     

    E:\redis\redis-server --service-uninstall

     

    7、安全性

    在redis.windows.conf里面修改:

    <1>绑定ip

    可以是本地,也可以是外网,这个一般默认已经绑定(redis3.2)

    bind 127.0.0.1

    <2>修改默认端口

    默认的6379改为其他端口

    <3>禁用危险命令

    将其置为""即禁用以下命令: rename-command FLUSHALL "" rename-command CONFIG "" rename-command EVAL ""

     

    8、通过命令行模糊查询

    如果我们确定一个key,进行查询就这样:

     

    get xxx

    如果我们只知道这个key的前缀是test,那么可以这样:

     

     

    keys test*

     

     

    可以用*和?来匹配模糊的部分。  

     

    9、过期时间

    php用redis写入过期时间一定要强制为(int)型,不管是string还是double都不行,只有int可以。

     

    10、List列表

    命令:RPUSH key value   对[列表key]的尾部添加元素value

    命令:LPOP key               对[列表key]从头部取出第一个元素,同时从列表中 移除此元素

    命令:LLEN key               查询[列表key]的元素个数

    少数几个指令就已满足一个先进先出的列表。

     

    转载请注明原文地址: https://ju.6miu.com/read-663905.html

    最新回复(0)