为了账号安全,请及时绑定邮箱和手机立即绑定
  • AOF 优势: 1.同步: a.每秒同步:异步完成,效率高,一旦系统宕机,修改的数据丢失 b.每修改同步:同步持久化,每分钟发生的变化记录到磁盘中,效率低,安全 c.不同步 2.日志写入操作追加模式append a.系统宕机,不影响存在的内容 b.写入一半数据,若系统崩溃,下次启动redis,redis-check-aof工具解决数据一致性 3.如果日志过大,自动重写机制,修改的数据写入到到磁盘文件,创建新文件,记录产生的修改命令,重写切换时,保证数据安全 4.格式清晰的日志文件,完成数据的重建 劣势: 1.对于相同数据文件,相比RDB,AOF文件较大 2.效率低 配置: vim redis.conf 默认: appendonly no #AOF方式默认关闭 appendfilename appendonly.aof #配置文件 #appendfsync always #每修改一次,同步到磁盘上 appendsync everysec 每秒同步到磁盘一次 #appensync no 不同步 实践打开AOF: appendonly yes appendfsync always 终端2:先断开redis ./bin/redis-cli shutdown 启动redis: ./bin/redis-server ./redis.conf 终端1:set name 100 终端2:产生appendonly.aof文件 终端1:flushall 清空数据库 终端2: ./bin/redis-cli shutdown vim appendonly.aof 删除flushall ./bin/redis-server ./redis.conf ./bin/redis-cli keys * 数据还原
    查看全部
  • RDB 优势: 1.数据库只包含一个文件,通过文件备份策略,定期配置,恢复系统灾难 2.压缩文件转移到其他介质上 3.性能最大化,redis开始持久化时,分叉出进程,由子进程完成持久化的工作 ,避免服务器进程执行I/O操作,启动效率高 劣势: 1.无法高可用:系统一定在定时持久化之前宕机,数据还没写入,数据已经丢失 2.通过fock分叉子进程完成工作,数据集大的时候,服务器需要停止几百毫秒甚至1秒 配置: cd /usr/local/redis vim redis.conf 默认: save 900 1 #每900秒至少1个key变化,持久化一次,到内存一个快照 save 300 10 #每300秒至少10个key变化,往硬盘写一次 save 60 10000 #每60秒至少10000个key变化,写一次 dbfilename dump.rdb #数据的文件名 dir ./ #保存的路径,redis路径下
    查看全部
  • 相关特性: 多数据库 Redis事务 Redis一个实例包含多个数据库:默认16个 客户端默认连接0号数据库 select 1 #选择1号数据库 move name 1 #移动 name 到1号数据库 事务: 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。   事务具有四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持续性(Durability)。这个四个特性也简称为ACID特性。   原子性:事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。   一致性:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。   隔离性:一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。 为什么事务非正常结束时会影响数据库数据的正确性,请列举一例说明之。   答:事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,这些未完成事务对数据库所做的修改有一部分已写入物理数据库,这时数据库就处于一种不正确的状态,或者说是不一致的状态。   例如某工厂的库存管理系统中,要把数量为Q的某种零件从仓库1移到仓库2存放。   则可以定义一个事务T,T包括两个操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常终止时只做了第一个操作,则数据库就处于不一致性状态,库存量无缘无故少了Q。 multi:开启事务 exec:提交,执行的命令被原子化执行 discard:回滚
    查看全部
    2 采集 收起 来源:11-Redis的特性

    2017-11-21

  • AOF 优点: 1. aof默认是不开启的 2. 同步写入频率高,效率低,方式最安全. 3. 写入模式采用append模式,追加模式, 不破坏写入日志数据,在redis中追加也不会破坏文件.如果在写入一半时候就出现崩溃问题,redis下次启动之前通过 redis-check-aof这个工具来帮助数据一致性问题 4. 当数据过大,可启动修改重写机制,redis采用append的这种机制,将新的修改的数据不短的写到老的磁盘文件当中,同时创建新的文件保存操作,保证修改数据的更新 5. 日志文件格式清晰,便于重建数据 缺点: 1. 对于相同数据集aof文件比rdb文件大一些 2. 根据同步策略不同,效率比rbd低. 配置过程: 1. 编辑redis.conf:vim redis.conf 2. 找到appendonly 未开启为no 需要改成yes(因为默认使用rdb方式所以) 3. Redis的目录下会产生appendonly.aof这个文件,用来保存appendonly的之前的增删改操作, 4. appendfsync always 没修改一次就同步到磁盘上 5. appendfsync everysec 每秒会向硬盘中同步一次 6. appendfsync no 不同步到硬盘中 7. 停掉redis ./bin/redis-cli shutdown 8. 重启redis ./bin/redis-servers ./redis.conf 9. flushall 清空数据库 , 做缓存使用 10. 进入appendonly.aof删除flushall可以恢复数据库
    查看全部
  • (1)所有键列:keys * (2)指定开头键列:keys [*]? (3)删:del 键... (4)判断存在:exists 键 (5)重命名:rename 旧键名 新键名 (6)设过期时间:expire 键 [seconds] (7)查过期时间:ttl 键 (8)键的值类型:type 键
    查看全部
  • redis的持久化: RDB持久化:在一定时间内将数据写入到内存中 AOF持久化:以日志形式将操作redis的操作命令增删改保存到日志中保存到硬盘中.默认是关闭状态,需要开启,保证再次启动时候数据完整性 不持久化 将redis持久化关闭,关闭以后可以将redis看成一个缓存.用作缓存 同时使用 RDB和AOF 两种方式保证数据持久化,使数据更完整.
    查看全部
  • Redis特性: (1)每个Redis实例有16个数据库,角标从0~15,默认为0,也可以通过select来选择数据库。比如:select 1,选择1号数据库 move用于移动数据库。比如:move myset 1,表示移动myset这个key到1号数据库。 (2)开启事务会将任务放到queue中,当提交事务时逐个执行 命令: (1)切换数据库:select [0~15] (2)开启事务:multi (3)提交事务:exec (4)回滚事务:discard
    查看全部
    2 采集 收起 来源:11-Redis的特性

    2017-09-26

  • 常用类型: String hash key不要太长、太短,命名统一 set key value # 赋值 get key # 获取值 get set company baidu ==> get company , set company baidu del key # 删除 incr num # num 的值+1 没有默认为0 加一就是1 如果num类型不能做加一运算 报错 decr num # 减一 同理 incrby num 5 # num += 5 decrby num 5 # num -= 5; append num 5 # num 后面追加字符串“5” 如果num不存在默认为空字符串
    查看全部
  • @Test public void demo1(){ Jedis jedis = new Jedis("127.0.0.1",6379); jedis.set("name", "test"); String name = jedis.get("name"); System.err.println(name); jedis.close(); } @Test public void demo2(){ JedisPoolConfig config = new JedisPoolConfig(); config.setMaxTotal(30); config.setMaxIdle(10); JedisPool jedisPool = new JedisPool(config,"127.0.0.1",6379); Jedis jedis = null; try{ jedis = jedisPool.getResource(); jedis.set("name", "test"); String value = jedis.get("name"); System.out.println(value); }catch(Exception e){ e.printStackTrace(); }finally{ if(jedis != null){ jedis.close(); } if(jedisPool != null){ jedisPool.destroy(); } } }
    查看全部
    2 采集 收起 来源:04-Jedis的入门

    2018-03-22

  • sadd存储 srem删除 smembers访问 sismember是否存在 sdiff 差 sinter交 sunion并 scard集合长度 srandmember随机返回一个数据 sdiffstore差存储 sinterstore交存储 sunionstore并集存储
    查看全部
  • Redis特性: (1)每个Redis实例有16个数据库,角标从0~15,默认为0,也可以通过select来选择数据库。比如:select 1,选择1号数据库 move用于移动数据库。比如:move myset 1,表示移动myset这个key到1号数据库。 (2)开启事务会将任务放到queue中,当提交事务时逐个执行 命令: (1)切换数据库:select [0~15] (2)开启事务:multi (3)提交事务:exec (4)回滚事务:discard
    查看全部
    2 采集 收起 来源:11-Redis的特性

    2017-06-15

  • 命令: (1)所有键列:keys * (2)指定开头键列:keys [*]? (3)删:del 键... (4)判断存在:exists 键 (5)重命名:rename 旧键名 新键名 (6)设过期时间:expire 键 [seconds] (7)查过期时间:ttl 键 (8)键的值类型:type 键 (9)清空缓存:flushall
    查看全部
  • 存储list: (1)ArrayList使用数组方式:根据索引去查询速度非常快,但是新增与删除元素时需要涉及到位移操作,效率比较低 (2)LinkedList使用双向链接方式:每个元素都记录了前后元素的指针,插入和删除数据时,只是改变了前后元素指针所指向的元素,速度快。 (3)双向链表中添加数据 (4)双向链表中删除数据
    查看全部
  • 安装准备:(1)VMware Workation虚拟机(2)Linux(CentOS)系统(3)SecureCRT 安装过程: (1)安装编译器:yum install gcc-c++ (2)下载Redis源码并上传到服务器 (3)解压Redis压缩包:tar -zxvf *redis* (4)进入Redis目录进行编译:make (5)安装Redis:make PREFIX=/user/local/redis install (6)将redis.conf拷贝到Redis安装目录:cp redis.conf /user/local/redis (7)进入安装目录,更改redis.conf文件:vim redis.conf --> daemonize no 改为 yes (8)启动redis后端模式:./bin/redis-server ./redis.conf
    查看全部
    2 采集 收起 来源:03-Redis的安装

    2018-03-22

  • Redis持久化 方式: (1)RDB(默认):按照一定时间频率将内存中的数据或者快照保存到磁盘 (2)AOF:通过日志记录服务器操作,启动时读取日志构建数据库 (3)无持久化:配置禁用持久化,达到缓存效果 (4)RDB与AOF共用
    查看全部

举报

0/150
提交
取消
课程须知
初级课程,会java基本语法即可
老师告诉你能学到什么?
NoSql和Redis是什么?Redis的使用场景,安装和使用。通过Jedis连接到Redis;Redis的通用命令,事务和持久化

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!