美文网首页
redis简介

redis简介

作者: 夜玉龙 | 来源:发表于2020-03-06 14:17 被阅读0次

    redis数据类型
    1、字符串
    2、哈希/散列码:可以存放 2^32 - 1个哈希码
    3、列表:可以存放 2^32 - 1个列表元素
    4、集合:可以存放 2^32 - 1个集合元素
    5、可排序集合

    Redis特点
    1、将数据完全保存在内存之中,仅使用磁盘进行持久化
    2、与其他键值存储结构相比,Redis有相对丰富的存储类型
    3、Redis可以将任意的数据复制到从机中

    Redis连接到远程的服务器

    redis-cli -h host -p port -a password
    

    redis的持久化
    RDB:在指定的时间间隔生成数据集的时间点快照
    AOF:持久化记录服务器执行的所有写操作命令,并在服务器启东市,通过重新执行这些命令来还原数据集。AOF文件中的命令全部以Redis协议的格式来保存

    优点
    RDB:
    1、适合进行备份
    2、非常适合用于灾难恢复
    3、恢复大数据时比AOF要快
    AOF
    1、使得Redis非常耐久,AOF会使用fsync来进行写入,而fsync的默认设置为每1秒进行1次,那么就会最多丢失1秒钟的数据
    2、AOF是一个进行追加操作的日志文件,那么在写入时不需要seek而是直接写到末尾
    3、Redis会因为AOF文件体积过大时,自动地在后台对AOF进行重写
    4、AOF文件有序地保存了对数据库执行的所有写入操作,所以即使将数据库中的数据全部删除,比如执行了FLUSHALL命令,那么只要停止服务器,移除AOF文件末尾的FLUSHALL的指令,重启服务器,文件便回到了FLUSHALL执行前的状态了

    缺点
    RDB:
    1、如果服务器宕机,那么会有较大数据量的数据遗失
    2、因为RDB的保存会fork一个进程来进行数据的持久化,这样的做法非常耗时
    AOF
    1、体积相比于RDB要更大一些
    2、使用的fsync策略的AOF会比RDB更慢一些

    如何进行选择
    一般我们会同时选择RDB和AOF

    事务
    事务可以执行多个命令,并且带有一下两个重要的保证
    1、所有命令的执行时序列化的,就是说按照顺序进行执行
    2、事务是原子操作,要么全部执行,要么全部不执行
    事务的执行是包在MULTI和EXEC之间的,也就是说假如在EXEC调用之前断线了,那么事务中所有的操作都不会发生,假如在执行的过程中发生了错误,比如执行了失败的命令,那么事务也会取消
    MULTI:用于开启一个事务,总是返回OK
    DISCARD:对MULTI和DISCARD之间的操作进行取消
    WATCH:通过对键进行加锁来进行确保只有一个客户端对这个键进行访问
    Redis不支持回滚

    发布和订阅
    发布和订阅模式在实现中,发送者并不是将信息直接发送给特定的接收者,而是将信息发送给频道,然后由频道将信息转发给所有的对这个信息感兴趣的订阅者
    可以使用subcribe命令来进行订阅频道,比如
    subcribe channel1 channel2
    那么另一个客户端可以使用publish channel1 "message" 来向订阅了channel1的客户进行发布消息了
    还可以利用正则表达式进行批量的订阅,命令格式这样的
    psubscribe channel*
    那个假如需要向订阅者发布消息,就使用下面的命令进行发布即可
    ppublish channel1 message
    ppublish channel2 message
    这样,进行订阅的用户就能收到发过来的信息了

    相关文章

      网友评论

          本文标题:redis简介

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