美文网首页
01-Redis-简介安装与数据类型

01-Redis-简介安装与数据类型

作者: 低头看云 | 来源:发表于2020-10-06 12:31 被阅读0次

    redis 简介

    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天生支持发布订阅模式, 所以天生就是实现消息队列系统的材料
    • ... ...

    Redis安装

    1.Redis下载和安装

    https://github.com/MicrosoftArchive/redis/releases
    全程下一步

    • 启动redis

      • redis-cli.exe -h 127.0.0.1 -p 6379
      • 找到redis的安装目录然后双击 redis-clid.exe
    • redis.windows.conf: 配置文件,将redis作为普通软件使用的配置,命令行关闭则redis关闭
      redis.windows-service.conf:配置文件,将redis作为系统服务的配置,用以区别开两种不同的使用方式

    1.配置文件修改
    redis.windows-service.conf

    • 绑定IP
      bind 127.0.0.1
    • 绑定端口号
      port 6379
    • 数据库文件
      dbfilename dump.rdb
    • 数据文件存储路径
      dir ./
    • 默认数据库
      databases 16
    • 日志文件
      logfile "server_log.txt"
    • 主从复制(类似于双机备份)
      slaveof

    http://www.runoob.com/redis/redis-conf.html

    redis 数据类型

    1.Redis数据类型

    • Redis是以key-value的形式存储数据的
    • key无论如何都是字符串类型
    • Value支持如下的五种数据类型
      • 字符串(String)
      • 哈希(Hash)
      • 列表(list)
      • 无序集合(sets)
      • 有序集合(sorted sets)

    2.String(字符串)

    • 格式: key value
    • 示例: name css

    3. Hash(哈希)

    • 格式: key field value
    • 示例:
    user name css
    user age  23
    user gender man
    user ...  ...
    
    • hash就相当于编程开发中的Map或者对象
    • 注意点: Hash是无序的

    4.List(列表)

    • list就相当于编程开发中的链表或者数组
    • 格式: key value1 value2 value3
    • 示例: names css zs ls ww
    • 注意点: list是有序的

    5.Set(集合)

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

    6.Zset(有序集合)。

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

    redis 通用操作命令

    • 查询当前数据库中所有的key

      • keys *
    • 清空当前数据库(开发操作)

      • flushdb
    • 清空所有数据库(离职操作)

      • flushall
    • 注意点:由于Redis是单线程的, 而以上操作都是非常耗时的, 所以不推荐在企业开发中使用

    • 计算当前数据库key的总数

      • dbsize
    • 注意点:

      • dbsize并不是通过遍历统计得到当前数据库key的总数, 而是每次操作时内部会自动统计
      • 所以dbsize并不是一个耗时的操作, 我们可以在企业开发中大胆的使用
    • 查看value数据类型

      • type key
    • 判断指定key是否存在
      exists key

    • 注意点: 如果存在返回1, 如果不存在返回0

    • 设置key过期时间

      • expire key seconds
    • 注意点:

      • 如果没有添加过期时间就是添加
      • 如果已经添加过了过期时间就是修改
    • 查看key过期时间

      • ttl key
    • 取消key过期时间
      persist key

    • 注意点:

      • 如果key不存在或者已经被删除会返回-2
      • 如果key存在并且过期时间已经被删除会返回-1
    • 默认数据库

      • 默认情况下Redis给我们创建了16个数据库(0~15),
      • 如果使用的时候没有明确的选中使用哪个数据库, 那么默认使用第0个
    • 切换数据库

      • select 1

    相关文章

      网友评论

          本文标题:01-Redis-简介安装与数据类型

          本文链接:https://www.haomeiwen.com/subject/wpktpktx.html