zoukankan      html  css  js  c++  java
  • Redis 使用入门

    NoSql概述

    NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它泛指非关系型的数据库,

    Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库),数据保存在内存/磁盘中。

    Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

     

    数据结构:   

      String set list zset(有序并且不可重复集合) hash(map)等      

      redis存储数据都是以字符串的方式进行存放,它只是把最终存储的结果值,以一定结构进行存储,

    redis提供了一堆操作方法[一堆命令],我们使用这些方法就可以存入字符串,组织成各种数据结构(string,list,set,map),使用起来更加方便。

     

     

    特点(优势)

    1.数据保存在内存,存取速度快,并发能力强

    2.它支持存储的value类型相对更多,包括string(字符串)list()set(集合)zset(sorted set --有序集合)hash(哈希类型 - map)。

    3.redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。

    4.它提供了JavaC/C++C#PHPJavaScript等客户端,使用很方便。

    5.Redis支持集群(主从同步)。数据可以主服务器向任意数量从的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。

    6.支持持久化,可以将数据保存在硬盘的文件中

    7.支持订阅/发布subscribe/publish)功能 QQ - 群发

    总结:

    0)   开源免费

    1) 数据存储:存放在内存,还支持持久化.-存取速度快,并发能力强,数据安全高

    2) 支持value类型更多

    3) 支持多个语言客户端

    4) 还支持集群(支持高并发,海量数据)

                                                    MysqlMemcached和Redis的比较

     

    mysql

    redis

    memcached

    类型

    关系型

    非关系型

    非关系型

    存储位置

    磁盘

    磁盘和内存

    内存

    存储过期

    不支持

    支持

    支持

    读写性能

    非常高

    非常高

    淘汰策略

    淘汰一些数据,达到redis数据都是有效的,节约内存资源。选择合适的淘汰策略进行淘汰。

     

    淘汰一些数据,达到redis数据都是有效的。选择合适的淘汰策略进行淘汰。

    volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

    volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

    volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

    allkeys-lru:从所有数据集server.db[i].dict)中挑选最近最少使用的数据淘汰

    allkeys-random所有数据集server.db[i].dict)中任意选择数据淘汰

    no-enviction(驱逐):禁止驱逐数据

    redis 确定驱逐某个键值对后,会删除这个数据并,并将这个数据变更消息发布到本地(AOF 持久化)和从机(主从连接)。

    Redis存放数据永远过期。 allkeys-lru

    volatile-lru,volatile-ttl随意就OK

    并且对于缓存而已,就算错误删除也没有关系,如果不是缓慢,集群。

     

     

     

     

    Redis持久化配置

    Redis持久化配置在 文件redis.windows.conf 修改操作启用和配置rdb和aof

    1 . RDB模式

    RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照,默认开启该模式.

    # save 900 1        //至少在900秒的时间段内至少有一次改变存储同步一次

    # save xxx

    # save 60 10000

    2 . AOF追加模式

      

    AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,默认关闭该模式。

    如何开启aof模式:

    appendonly yes         //yes 开启,no 关闭

    # appendfsync always //每次有新命令时就执行一次fsync 

    #这里我们启用 everysec

    appendfsync everysec //每秒 fsync 一次

    # appendfsync no      //从不fsync(交给操作系统来处理,可能很久才执行一次fsync)

     

    appendfilename "appendonly.aof"  是产生的文件储存(可以改为别名)放在redis.windows.conf文件的相同文件夹,

    文件是redis的命令

    *后面的数字代表命令个数($数),

    $后面的数字代表单个命令的字母数,

     

     

  • 相关阅读:
    mybatis-plus
    AOP中Cache操作实现
    ab和webbench的安装以及使用
    git commit的提交规范
    CGI、FastCGI、PHP-CGI与PHP-FPM的概念以及各个之间的关系
    PHP垃圾回收机制(GC)
    PhpStorm中php文件如何在console中运行
    ELK-logstash导入数据以及配合kibana使用
    领扣刷题——关于数
    Uncaught SyntaxError: Illegal return statement
  • 原文地址:https://www.cnblogs.com/china10/p/14452813.html
Copyright © 2011-2022 走看看