1.为什么要使用非关系型数据库

问题现象:

  • 海量用户
  • 高并发

罪魁祸首-关系型数据库

  • 性能瓶颈:磁盘io性能低下
  • 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群

解决思路

  • 降低磁盘io次数 —内存存储
  • 去除数据间关系,越简单越好 --------不存储关系,仅存储数据

这两个正好是Nosql的特点

2.什么是Nosql

Nosql:即Not-only SQL(泛指非关系型的数据库),作为关系型数据库的补充。

作用:应对基于海量用户和海量数据前提下的数据处理问题

特征:

  • 可扩容
  • 大数量下高性能
  • 灵活的数据类型
  • 高可用

常见的Nosql数据库:

  • Redis
  • memcache
  • HBase
  • MongoDB

3.什么是Redis

概念:Redis(REmote Dictionary Server)是用c语言开发的一个开源的高性能键值对(key-value)数据库。
特征:

  • 数据间没有必然的关联关系
  • 内部采用单线程机制进行工作
  • 高性能,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/m。
  • 多数据类型
    - 字符串类型 string
    - 列表类型 list
    - 散列类型 hash
    - 集合类型 set
    - 有序集合类型 sorted_set
  • 持久化支持,可以进行数据灾难恢复

4. 安装redis和redis-desktop-manager工具

准备工作:

  • 首先官网下载解压redis
  • 点击redis-server.exe打开服务端
  • 点击redis-cli.exe打开客户端

核心文件:

文件

作用

redis-server.exe

服务器启动命令

redis-cli.exe

命令行客户端

redis-windows.conf

redis核心配置文件

redis-benchmark.exe

性能测试工具

redis-check-aof.exe

AOF文件修复工具

redis-check-dump.exe

RDB文件检查工具(快照持久化文件)

默认的端口号是6379,可以在redis.windows.conf文件下修改

  • 接下来下载工具redis-desktop-manager(傻瓜式安装)
  • 打开工具,开始连接,密码不用输入
  • 设置密码

当然没密码是不行的,打开redis-windows.conf文件
在443行左右,改成如下

# requirepass foobared
requirepass 123456
# Command renaming.

也就是设置密码为123456,然后保存
之后cmd找到redis.windows.conf的路径,输入redis-server redis.windows.conf执行,看到成功就行了。

  • 如何输入指令
    在可视化工具redis-desktop-manager下登录之后就可以输入指令了
    那么如何在redis的客户端输入指令呢?
    只需要双击之后输入auth 'password', password是指你之前设置的密码,认证成功就可以了。
    如图
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set username lisi
OK
127.0.0.1:6379> get username
"lisi"
127.0.0.1:6379> help set

  SET key value [expiration EX seconds|PX milliseconds] [NX|XX]
  summary: Set the string value of a key
  since: 1.0.0
  group: string

127.0.0.1:6379> help get

  GET key
  summary: Get the value of a key
  since: 1.0.0
  group: string

127.0.0.1:6379>