zoukankan      html  css  js  c++  java
  • redis小结

    小结:
    1java整合redis一般加个依赖,和yml配置.和redis语法就好,用不到jedis
    2redis的客户端有redis-client,但是人们一般使用图形化客户端redisDesktop
    3和git一样,自带命令行客户端,但是人们一般使用图形化客户端source tree
    4通过redis文件可以修改持久化(RDB或者AOF)策略,打开命令行客户端.
    5通过服务即可打开redis服务,通过cmd也行,不过不方便
    6需要掌握redisDesktop和redis在java中的语法

    配置文件中:
    使用jedis:当多线程使用同一个连接时,是线程不安全的。所以要使用连接池,为每个jedis实例分配一个连接。 使用Lettuce:当多线程使用同一连接实例时,是线程安全的。

    Redis数据结构
    五种数据类型:
    字符串(String) 哈希(hash) 字符串(list) 字符串集合(set) 有序字符串集合(sortedset)

    存储String常用命令:
    赋值set/getset 取值get/getset 删除del 数值增减incr/decr 扩展命令append

    存储Hash:
    1String key 和 String Value的map容器
    2每一个Hash可以存储4294967295个键值对

    存储Hash常用命令:
    赋值 取值 删除 增加数字 自学命令

    存储list:
    1ArrayList使用数组方式:查询快,删除慢
    2LinkedList使用双向链表方式:增加删除快,因为仅仅改变指向,查询慢
    3双向链表中增加/删除数据:LinkedList就是

    存储list常用命令:(从左往右:0-56788;从右往左:-1.-2.......,0-> -1意味着从开始到结束)---有序的集合,可以重复元素
    两端添加 查看列表 两端弹出 获取列表元素个数 扩展命令

    存储set:
    1和List类型不同的是,Set集合不重复元素并且无序
    2Set可包含的最大元素数量是4294967295

    存储set常用命令:
    添加/删除元素 获得集合中的元素 集合中差集运算
    集合中交集运算 集合中并集运算 扩展命令

    存储Sorted-Set:
    1Sorted-Set和Set的区别:Sorted-Set有序唯一,有一个分数,分数可变.增加插入高效.在排名热搜应用较多
    2Sorted-Set中的成员在集合中的位置是有序的

    存储Sorted-set常用命令:
    添加元素 获得元素 删除元素 范围查询 扩展命令

    redis特性
    相关特性:
    1多数据库 2Redis事务

    Redis持久化
    redis的数据保存在内存中,为了在关机时候保证数据不丢失,就需要持久化保存在硬盘中,
    两种持久化方式:RDB方式 AOF方式 ,可以使用一种或者结合起来用.
    持久化使用的方式:
    1默认是RDB方式,就是在指定的时间内(比如30秒一次)将数据存储到硬盘
    2AOF持久化,就是开机时候通过读取文件的方式构建数据库
    3无持久化:通过配置使他在关机时候不持久化到硬盘,就相当于缓存,一般和数据库搭配起来使用
    4同时使用RDB和AOF

    RDB--每秒同步
    优势:
    1每天或者固定时间持久化n长时间内数据,闹存在文件内,如果服务器雪崩,可以快速回复数据
    2他可以把持久化文件存储在其他存储位置
    3可以分叉子线程完成持久化工作,可以极大避免服务器进程执行AOF操作
    4如果数据集很大,启动的效率更高
    缺点:
    1如果想最大程度避免数据不丢失,并不是最好的选择,因为在数据持久化之前经常荡机
    2因为是分叉子线程协助持久化,分叉过程需要几百毫秒甚至1秒,可能错失持久化
    配置:在redis的conf中dump.rdb,默认的,保存

    AOF--每修改同步
    优点:
    1数据安全,不丢失
    2采用日志方式纪录,如果在纪录时服务器雪崩,会通过AOF-check工具保证数据一致性
    3有2个日志:1是当前操作的日志 2是老日志append追加

    劣势:
    1效率低
    2相同数量的文件更大
    配置:
    1在conf中有appendonly no,不打开,写成append yes就会打开
    2把策略改变,appendsync always前面#去除,appendfsync everyec前加#
    3保存
  • 相关阅读:
    python模块win32com中的early-bind与lazy-bind(以Autocad为例)
    Beautiful code and beautiful life
    PyPI 使用的国内源
    JavaScript在SublimeText中的配置
    Python中的模块包
    FTP 服务器在WIN10上的搭建及服务端下载文件实例
    Oracle ASM磁盘组兼容性
    oracle ADVM
    053-28
    053-27
  • 原文地址:https://www.cnblogs.com/xinglongbing521/p/10410523.html
Copyright © 2011-2022 走看看