了解NoSQL数据库
常用的有Redis,MongoDB,等其他, 为什么我们要使用NoSQL 数据库,它的作用,好处有哪些?
缓存技术的优势,存储方式的不同
1. 之前都是将数据存储在数据库中,而数据库中的真实数据,其实是存储在硬盘上。
2. 现在有的NoSQL 数据库,我们有了更多的选择,可以将数据直接存储在NoSQL数据库中,而NoSQL 的数据是存储在内存中。
如图:
3. 高速缓存,用于存储手机APP热数据,商城秒杀数据,新闻首页数据 等。比如:淘宝,天猫的秒杀数据,头条的热数据,微博大V的数据。
这些数据一旦被高速缓存起来之后,千万用户可以在最快的速度获取到它,这就是利用高速缓存技术,而Redis 就可以做到。
还有就是双十一,电商平台会利用NoSQL缓存技术来弥补SQL数据库吞吐能力的不足,
由于双十一当天,用户订单量大,如果一下子向数据库写入数据,可能会导致数据库奔溃。
所以,电商平台会把订单先缓存,然后通过负载均衡的方式,向数据库写入数据。
当然现在很多都用集群,分布式,云等技术来实现。常规做法:Nginx 负载均衡,应用分离实现,不在是单体实现, MySql 集群, Redis 集群,
Redis 是美国Vmware公司开源的NoSQL数据库产品,以Key-Value的存储格式,存储数据。可将数据保存在内存或者硬盘中
Redis 是单线程模型的NoSQL数据库,底层由C语言编写,官方提供的数据每秒查询次数可达100000+ (QPS)
所以综上所述,NoSQL 技术还是很有必要掌握的,下面就来看看Redis 的安装。
安装Redis 数据库
下载地址: https://redis.io/download
早在之前,Redis 只支持Linux 系统,因为代码是开源的所以网络上极客们,考虑到Windows 用户也需要使用redis. 在原有的代码基础开发了Windows 版本的Redis.
下载地址:https://github.com/ServiceStack/redis-windows/tree/master/downloads
下载对应的版本,解压即可使用Redis.
Windows 有两种版本,一种是windows service 版本的,你需要安装redis, 安装完redis 可以以services 的方式,后台自动启动服务。对应的配置文件是:redis.windows-service.conf
一种版本是需要手动启动redis server. 到指定的redis 目录 启动 redis-server.exe。对应的配置文件是: redis.windows.conf
Notes That: Redis 有自己的CLI. 你可以使用cmd 启动, 也可以直接到指定redis 目录里双击redis-cli.exe, 默认情况下,redis 无需密码登录,当然你也可以通过在配置中设置 requirepass xxxxxxx
如果出现下图,说明已经连接上redis 数据。
除了以上这种方式管理Redis, 还可以使用RedisDesktopManager, 它是目前比较推荐使用的Redis 图形界面客户端工具。(可视化管理工具)
下载地址:https://redisdesktop.com/
至此,我们已经安装好redis 数据库了,下面就让我们开始造吧!
Redis相关配置和命令
Redis 的数据同步有两种方式,都是用来数据持久化存储,
1. RDB
这种方式,它不是时时同步数据,所以如果在宕机的情况下,会丢失数据
2. AOF
这种数据的存储是时时同步的,说以弥补了RDB方式的不足。同时它还可以根据你的需求来设置数据同步的评率
# appendfsync always 时时同步
# appendfsync everysec 默认是everysec,
# appendfsync no
Reids 常用配置
序号 | 参数 | 作用 |
1 | port | 端口号,默认值6379 |
2 | bind | 默认只允许本机访问,你也可以设置运行任何机器都可以访问,绑定是IP地址 |
3 | time | 默认0代表无限制, client 空闲多少秒后关闭客户端连接server |
4 | loglevel | 日志级别,分别为:debug, verbose, notice,warning,默认值是notice |
5 | logfile | 日志输出的到文件中。默认是输出到控制台 |
6 | syslog-enabled | 默认值yes, 是否启动log日志到系统日志中 |
7 | databases | redis 逻辑库的数量,默认是 16个,可根据需要来调整 |
8 | save | RDB同步数据的频率 |
9 | rdbcompression | 同步RDB文件时,是否采用压缩,默认值yes |
10 | dbfilename | redis 数据库的名称,默认是RDB 方式,所以它的默认名字是dump.rdb |
11 | dir | rdb 文件的目录,默认是redis 的安装根目录, |
12 | requirepass | 访问redis 是否需要密码, 默认是无需密码, 如果需要直接在后面设置密码即可 |
13 | maxclients | redis 运行的最大连接数, 默认无限制, 可根据需求调整 |
14 | maxmemory | redis 所使用的内存大小,默认无限制 |
15 | appendonly | 是否开启AOF备份 |
16 | appendfsync | AOF 同步的频率,no, everysec, always |