-
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可以恢复数据库查看全部
-
RDB: 优点: (1)可将数据库保存为一个文件,便于备份 (2)可方便移植 (3)性能最大化,可开启小的进程处理持久化操作 缺点: (1)不能保证数据完整性 (2)当数据过大,进程处理将会延迟几百到一千毫秒 配置过程: (1)编辑redis.conf文件:vim redis.conf (2)找到时间戳,可配置秒、分、时与之存储量 (3)rdb文件默认保存在redis安装目录查看全部
-
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查看全部
-
命令: (1)所有键列:keys * (2)指定开头键列:keys [*]? (3)删:del 键... (4)判断存在:exists 键 (5)重命名:rename 旧键名 新键名 (6)设过期时间:expire 键 [seconds] (7)查过期时间:ttl 键 (8)键的值类型:type 键查看全部
-
zadd key 70(分数) value 80(分数)ls //添加元素 zadd key 90(分数)ls //这个时候不会添加元素 ,会把分数为80的替换掉 zadd key 60(分数)tom //这个时候会添加元素成功 zscore key value //获取到分数 zcard key // 获取数量 zrem key value1 value2 ....//删除相应的值 zrange key 0 -1 //获取key值 zrange key 0 -1 withscores//获取key值和分数 zrevrange key 0 -1 withscores//从大到小的排序 zremrangebyrank key 0 4//表示 按范范围删除 zremrangebyscore key 80 100 //表示 从80-100分的分数删除掉 zrangebyscore key 0 100 withscores //表示0到100的分数显示 zrangebyscore key 0 100 withscores limit 0 2//只显示2条 zcount key 80 90//显示80 到90分的个数查看全部
-
sadd key value//添加值 srem key value //删除value值 smembers key //获取key value 值 sismember key a //判断a 是否在 value中 ,若在返回1 否则返回0 sdiff key1 key2 //得到连个集合的差集 sinter key1 key2 //得到key1 key2交集 sunion key2 key3 //得到key2 ,key3的并集 scard key //得到集合这个集合的具体数量 srandmember key//获取 这个集合的 随机元素 sdiffstore key key1 key2 //把key1 key2的差集存储到key中 sinterstore key key1 key2 //把key1 key2的交集存储到key中 sunionstore key key2 key3 //把key2 key3 的并集结果存储到key中查看全部
-
常用类型: String hash key不要太长、太短,命名统一 set key value # 赋值 get key # 获取值 getset 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不存在默认为空字符串查看全部
-
hset map-name key name hmset map-name (key name)+ 同时设置多个值 hget map-name key hmget map-name (key)+ 同时获取多个值 hgetall map-name 获取一个map中所有的值 hdel map-name (key)+ 删除一个或多个值 返回值:受影响的行数 del map-name 删除map hincrby map-name key step 按指定步长增加 hexists map-name key 判断非空 hlen map-name 获取长度 hkeys map-name 获取所有的key hvals map-name 获取所有的值查看全部
-
命令: (1)左插入:lpush 列名 [值..];右插入:rpush 列名 [值..] (2)查询:lrange 列名 [begin,end](两者可为正负整数,负数则从相反方向计数,正数从0开始,负数从-1开始) (3)左弹:lpop 列名;右弹:rpop 列名(查出结果均被删除) (4)数量:llen 列名 (5)已有列左插入:lpushx 列名 [值...];已有列右插入:rpushx 列名 [值...] (6)移除:lrem 列名 [count] 值 (count可为正负数,负数则从相反方向计数,0为所有值) (7)指定插入:lset 列名 [index] 值 (8)从前插入:linsert 列名 before [指定值] 值;从后插入:linsert 列名 after [指定值] 值 (9)从列1弹出最后元素插入列2的头部:rpoplpush 列1名 列2名查看全部
-
SNS BBS查看全部
-
安装环境查看全部
-
NoSQL:非关系型数据库查看全部
-
Nosql数据库比较查看全部
-
NoSql 四种存储方式分类查看全部
举报
0/150
提交
取消