1.什么是Redis?

  • Remote Dictionary Server(远程字典服务器)
  • Redis是一个'开源的'使用'C语言'编写的数据库
  • Redis和MongoDB一样是NoSQL类型的数据库
    不同的是MongoDB存储的是文档, 而Redis存储的是键值对(Key-Value)

2.Redis特点

  • 速度快

    • Redis默认情况下将数据存储在内存中
    • 读取速度能达到10万次/s左右, 写入能到到8万次/秒左右
  • 支持数据的持久化

    • Redis默认情况下将数据存储在内存中
    • 但是也可以将内存中的数据保存到磁盘中
  • 支持多种数据结构

    • Redis是通过key-value形式存储数据的
    • value不仅支持常见的字符串类型,整型以外
    • 同时还提供了list, set ,zset, hash等数据结构的存储
  • 定制性强

    • Redis虽然强大, 但是它是开源免费的
    • Redis第一个版本代码在23000行左右
    • Redis当前版本代码在50000行左右
  • 支持分布式

    • 和MongoDB一样, Redis是支持主从复制, 支持分布式存储的
  • ... ...

3.Redis场景应用场景

  • 缓存系统

    • 由于Redis是将数据存储在内存中的, 所以我们可以使用Redis来实现内存缓存
    • 对于经常会被查询,但是不经常被修改或者删除的数据, 存储到Redis中
  • 排行榜

    • 由于Redis支持集合(Set)和有序集合(Sorted Set)
      所以是的我们在实现排行榜的时候变的非常简单
  • 计数器

    • 由于Redis提供了incr/decr指令, 使得我们在实现计数器时非常简单
    • 转发数/评论数/播放数/访问数/... ...
  • 存储社交关系

    • 由于Redis支持存储集合类型数据, 由于社交关系不会经常发生改变
      所以很多社交网站会使用Redis来存储社交关系
  • 消息队列系统

    • Redis天生支持发布订阅模式, 所以天生就是实现消息队列系统的材料
  • ... ...

4.配置文件的修改

redis.windows-service.conf   // 在这个文件中进行修改
bind 127.0.0.1   // 绑定ip
port 6379   //  绑定端口号
dbfilename dump.rdb   //  数据库文件
dir ./   //   数据文件存储路径
databases 16   //   默认数据库  
logfile "server_log.txt"   //   日志文件 
slaveof   //   主从复制(类似于双机备份)

5.数据类型

Redis数据类型

  • Redis是以key-value的形式存储数据的
  • key无论如何都是字符串类型
  • Value支持如下的五种数据类型

    • 字符串(String)
    • 哈希(Hash)
    • 列表(list)
    • 无序集合(sets)
    • 有序集合(sorted sets)

String(字符串)

格式: key value
示例: name simon

Hash(哈希)

格式: key field value

示例:
user name simon
user age 18
user gender man
user ... ...
hash就相当于编程开发中的Map或者对象
注意点: Hash是无序的

List(列表)

list就相当于编程开发中的链表或者数组
格式: key value1 value2 value3
示例: names simon zz hh qq
注意点: list是有序的

Set(集合)

键是String, 值set
一堆无序的数据
注意点: 存储的数据不能重复

Zset(有序集合)。

一堆有序的数据, 通过权重和实现排序
注意点: 存储的数据不能重复

Last modification:July 15th, 2020 at 10:41 am
来杯coffee吧