zoukankan      html  css  js  c++  java
  • 关于redis,学会这8点就够了(转)

    1、redis是什么

    redis是一种支持Key-Value等多种数据结构的存储系统。可用于缓存、事件发布或订阅、高速队列等场景。该数据库使用ANSI C语言编写,支持网络,提供字符串、哈希、列表、队列、集合结构直接存取,基于内存,可持久化。

    2、支持的语言

    3、redis的应用场景有哪些

    1、会话缓存(最常用)
    2、消息队列,比如支付
    3、活动排行榜或计数
    4、发布、订阅消息(消息通知)
    5、商品列表、评论列表等
     

    4、redis数据类型
    Redis一共支持五种数据类:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

    (1)string(字符串)
    它是redis最基本的数据类型,一个key对应一个value,需要注意是一个键值最大存储512MB。

    (2)hash(哈希)
    redis hash是一个键值对的集合, 是一个string类型的field和value的映射表,适合用于存储对象

    (3)list(列表)
    是redis简单的字符串列表,它按插入顺序排序

    (4)set(集合)
    是string类型的无序集合,也不可重复

    (5)zset(sorted set 有序集合)
    是string类型的有序集合,也不可重复
    sorted set中的每个元素都需要指定一个分数,根据分数对元素进行升序排序,如果多个元素有相同的分数,则以字典序进行升序排序,sorted set 因此非常适合实现排名

    5、redis服务相关的命令

    slect           #选择数据库(数据库编号0-15)
    quit             #退出连接
    info             #获得服务的信息与统计
    monitor       #实时监控
    config get   #获得服务配置
    flushdb       #删除当前选择的数据库中的key
    flushall       #删除所有数据库中的key

    6、redis的发布与订阅

    redis发布与订阅(pub/sub)是它的一种消息通信模式,一方发送信息,一方接收信息。
    下图是三个客户端同时订阅同一个频道

    下图是有新信息发送给频道1时,就会将消息发送给订阅它的三个客户端

    7、redis持久化

    redis持久有两种方式:Snapshotting(快照),Append-only file(AOF)

    Snapshotting(快照)

    1、将存储在内存的数据以快照的方式写入二进制文件中,如默认dump.rdb中
    2、save 900 1 

    #900秒内如果超过1个Key被修改,则启动快照保存
    3、save 300 10 

    #300秒内如果超过10个Key被修改,则启动快照保存
    4、save 60 10000 

    #60秒内如果超过10000个Key被修改,则启动快照保存
     

    Append-only file(AOF)

    1、使用AOF持久时,服务会将每个收到的写命令通过write函数追加到文件中(appendonly.aof)
    2、AOF持久化存储方式参数说明
        appendonly yes  

               #开启AOF持久化存储方式 
        appendfsync always 

             #收到写命令后就立即写入磁盘,效率最差,效果最好
        appendfsync everysec

             #每秒写入磁盘一次,效率与效果居中
        appendfsync no 

             #完全依赖OS,效率最佳,效果没法保证

    8、redis 性能测试

    自带相关测试工具

    实际测试同时执行100万的请求

     转载自:https://blog.csdn.net/middleware2018/article/details/80355418

  • 相关阅读:
    mybatis记录随便(五)一对多映射实现方式
    mybatis记录随便(四)一对一映射实现方式
    mybatis记录随便(三)foreach实现in查询
    mybatis记录随便(二)insert获取主键方法
    mybatis记录随便(一)resultMap配置说明
    SpringBoot2.0与Shrio集成实战操作
    从实战的角度谈微服务(六):对于消息中间件RabbitMQ的基本使用
    从实战的角度谈微服务(五):使用Zuul创建微服务网关、添加熔断
    从实战的角度谈微服务(四):使用Spring Boot Admin监控服务(Spring Boot 2.0,基于 Eureka 的实现)
    SpringBoot随笔(一)-controller接收多个实体解决方案
  • 原文地址:https://www.cnblogs.com/wangpd/p/10135941.html
Copyright © 2011-2022 走看看