人若有志,万事可为!(放弃了,你就是笑话一段。)
Redis(Remote Dictionary Server )即远程字典服务,是一个开源的使用 ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、跨平台的非关系型、高性能的Key-Value数据库,并提供多种语言的 API。支持存储的value类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)支持push/pop、add/remove及取交集并集和差集及更丰富的操作,且这些操作都是原子性的,为了保证效率,数据都缓存在内存中。redis支持数据备份,会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,在此基础上实现了 master-slave 主从同步。
Linux 系统:点击进入Redis官网下载
Windows 系统:点击进入github下载 若有兴趣了解→github源码地址
这里选择 3.0.504 稳定版本 Redis-x64-3.0.504.msi 安装包进行下载
.msi 为安装版本,安装过程中自动配置。.msi文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据,只要系统中包含windows installer支持就能够使用。
下载完成后,双击 Redis-x64-3.0.504.msi 进行安装
选择“添加Redis目录到环境变量PATH中”,这样方便系统自动识别Redis执行文件在哪里。
端口号可保持默认的6379,并选择防火墙例外,从而保证外部可以正常访问Redis服务。
设定Redis最大内存限制,启动时会把数据加载到内存中。作为实验和学习,100M足够了。如果redis的应用场景是作为db使用,那不要设置这个选项,因为db是不能容忍丢失数据的。
查看 Redis 服务是否正常启动运行,如未启动,则手动启动。
进入 Redis 的根目录,cmd窗口:cd C:\Program Files\Redis
输入命令启动客户端程序 redis-cli
回车。显示正确的端口号,表示服务已经启动。
最后测试一下读写:输入 set key1 "ITGodRoad”
回车,保存一个键值,再输入 get key1
获取刚才保存的键值。
进入到安装目录 C:\Program Files\Redis
找到 redis.windows-service.conf
文件,记事本打开
注意:不要找错了,通常为redis.windows-service.conf,而不是redis.windows.conf。后者是以非系统服务方式启动程序使用的配置文件。
找到含有requirepass
字样的地方,追加一行,输入requirepass 12345。这是访问Redis时所需的密码
################################## SECURITY ###################################
# Require clients to issue AUTH before processing any other
# commands. This might be useful in environments in which you do not trust
# others with access to the host running redis-server.
#
# This should stay commented out for backward compatibility and because most
# people do not need auth (e.g. they run their own servers).
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
# requirepass foobared
requirepass 12345
进入 Redis 的根目录,cmd窗口输入命令启动客户端程序:redis-cli
进行取值验证,如不输入密码则会报错:没有验证,需要验证。
持久化就是把内存的数据写到磁盘中去,防止服务宕机了内存数据丢失。Redis 提供了两种持久化方式:RDB 和 AOF。
RDB(默认):Redis DataBase,功能核心函数 rdbSave(生成RDB文件)和 rdbLoad(从文件加载内存)两个函数
AOF:Append-only file,每当执行服务器(定时)任务或者函数时 flushAppendOnlyFile 函数都会被调用, 这个函数执行写入保存:
WRITE:根据条件,将 aof_buf 中的缓存写入到 AOF 文件;
SAVE:根据条件,调用 fsync 或 fdatasync 函数,将 AOF 文件保存到磁盘中。
1、aof文件比rdb更新频率高,优先使用aof还原数据;2、aof比rdb更安全也更大;3、rdb性能比aof好;4、如果两个都配了优先加载AOF