-
AOF持久化
redis提供了三种同步策略:
1、每秒同步:当服务器宕机,那一秒内修改的数据将丢失
2、每修改同步:效率最低,但最安全
3、不同步
劣势:
同等数据量下AOF的文件要大于RDB
根据同步策略的不同 AOF在运行效率上往往低于RDB
vim redis.conf
appendonly no
默认AOF不打开,默认使用RDB
查看全部 -
Redis持久化的RDB的方式
优势:
--redis数据库只包含一个文件,对于文件备份而言是非常完美的,一旦系统出现灾难性的故障是比较方便恢复的,定时配置。
--可以将一个单独的文件压缩后转移到其他存储介质上 。如:拷贝到其他地方,恢复时使用就好。
--性能最大化,redis开始持久化时,分叉出进程,由子进程完成持久化的工作
配置
vim redis.conf
每900秒至少有一个key发生变化
每300秒至少有十个key发生变化
每60秒至少有10000个key发生变化
查看全部 -
Redis持久化
数据从内存同步到硬盘
Redis持久化的两种方式
--RDB模式
--AOF模式
可单独使用其中一种或两种结合使用
持久化使用的方式
RBD持久化:在指定的时间间隔内将内存中的数据写入磁盘
AOF持久化:以日志的形式记录服务器所处理的每一个操作
无持久化:通过配置禁用持久化,这样就认为Redis是一个缓存的机制
同时使用RDB和AOF
查看全部 -
Redis特性
---多数据库
redis最大支持16个数据库,按0~15的索引排列
默认使用的是0数据库
select index //选取数据库select 1
move keyName index //将key移动到指定数据库 move mylist 1
--支持事务
使用三个命令 multi exec discard
multi :开启事务
exec :相当于关系型数据库中的commit 提交事务
discard:相当于关系型数据库中的rollback 回滚事务
查看全部 -
Keys的通用操作
keys * -查询所有的keys
keys my? -查询以my开头的keys
del mylist1 mylist2 -删除keys
exists mylist -判断keys是否存在,存在返回1,不存在返回0
rename company newcompany -重命名,把company改名为newcompany
expire newcompany 1000 -设置keys的超时时间
ttl newcompany -查看keys的剩余超时时间
type mylist -查看keys的类型
查看全部 -
NoSQL数据库的四大分类
键值(key-value)存储
列存储
文档数据库
图形数据库
查看全部 -
存储Sorted-Set
--Sorted-Set和Set的区别
Sorted-Set每个成员都有一个关联的score属性,用于排序。成员不可以重复,score可以重复。时间复杂度为集合中成员的个数的对数。
--Sorted-Set中的成员在集合中的位置是有序的
存储Sorted-Set常用命令:
-添加元素
zadd mysort 70 zs 80 ls 90 ww
-获得元素
zscore mysort zs 获得谁的分数
zcard mysort 获取到具体成员数量
-删除元素
zrem mysort zs ww
-范围查询
zrange mysort 0 -1
zrange mysort 0. -1 withscores
zrevrange mysort 0. -1 withscores (从大到小排序)
zremrangebyrank mysort 0 4 (按照排名范围删除)
zremrangebyscore mysort 80 100 (按照分数范围删除)
-扩展命令
zincrby mysort 3 ls
查看全部 -
存储set
和list类型不同的是,Set集合中不允许出现重复的元素
存储set常用命令
--添加/删除元素
sadd myset a b c 1 2 3
srem myset 1 2
--获得集合中的元素
smembers myset
sismember myset a (有就显示1,无就显示0)
--集合中的差集运算
sadd mya1 a b c
sadd myb1 a c 1 2
sdiff mya1 myb1
--集合中的交集运算
sinter
--集合中的并集运算
sunion
--扩展命令
获取set具体的成员数量 scard myset
随机返回set中的一个成员 srandmember
将两个集合相差的成员存储到其他集合上sdiffstore my1 mya1 myb1
将两个集合的交集存储到其他集合上sinterstore my1 mya1 myb1
将两个集合的并集存储到其他集合上sunionstore my1 mya1 myb1
查看全部 -
存储list
--ArrayList使用数组方式
--LinkedList使用双向链接方式
--双向链表中增加数据
--双向链表中删除数据
存储list常用命令
--两端添加
左端添加
lpush mylist a b c
lpush mylist 1 2 3
右端添加
rpush mylist2 a b c
rpush mylist2 1 2 3
--查看列表
lrange mylist 0 5
lrange mylist2 0 -1
--两端弹出
lpop mylist 弹出最左端的元素(消失)
rpop mylist 弹出最右端的元素(消失)
--获取列表元素个数
llen mylist
--扩展命令
↓仅当参数中的key存在时才能起作用
lpushx mylist x
rpushx mylist y
lrem mylist -1 2
lrem mylist 1 2
lrem mylist 0 2
在中间插入值
lset mylist 3 mmm
linsert mylist before b 11
linsert mylist after b 11
将链表中的尾部元素弹出并添加到头部(mylist5的尾部被弹出,压到mylist6上)
rpoplpush mylist5 mylist6
查看全部 -
存储Hash
-String Key和String Value的map容器
-每一个Hash可以储存4294967295个键值对
存储Hash常用命令:
--赋值
hset key age 18 [hset key 属性名称 属性值]
hmset key1 age1 18 name 20 (多个存储)
--取值
hget key age
hmget key1 age1 name
hgetall key1 (获取key中所有属性的值)
--删除
hdel key1 age1 name (一次删除多个属性)
del key1
--增加数字
hincrby key age 5
--自学命令
hexists key age
hexists key password
(查找对应属性 有显示1无显示0)
hlen key
hkeys key
hvals key
查看全部 -
Redis的数据结构
五种数据类型:
--字符串-String
--字符串列表-list
--有序字符串集合-sorted set
--哈希-hash
--字符串集合-set
Redis key-value key定义的注意点:
--不要过长
--不要过短
--统一的命名规范
存储String
--二进制安全的,存入和获取的数据相同
--Value最多可以容纳的数据长度是512M
存储String常用命令:
--赋值 set name imooc
--取值 get name
--删除 del name
--数值增减 incr num 或 decr num (若无num对象则创建,初始值为0 再加1)
--扩展命令incrby num 123 (加上123)
decrby num 4
append key value --拼凑字符串
查看全部 -
Jedis入门
Jedis是Redis官方首选的Java客户端开发包
查看全部 -
Redis是一个用C语言开发的一个开源的高性能的键值对的数据库,其所支持的键值对数据类型有:
-字符串类型
-列表类型
-有序集合类型
-散列类型
-集合类型
Redis的应用场景:
-缓存
-任务队列
-应用排行榜
-网站访问统计
-数据过期处理
-分布式集群架构中的session分离
Redis非关系型数据库,主要用做关系型数据库的缓存
查看全部 -
NoSql = Not Only SQL
是非关系型数据库
为什么需要NoSql
-high performanc 高并发读写
-huge storage 海量数据的高效率存储和访问
-high scalability && high availability 高可拓展性和高可用性
NoSQL数据库的四大分类
--键值(key-value)存储 例如Redis
-优点:快速查询 劣势:存储的数据缺少结构化
--列存储 例如Hbase
-优点:快速查询,推展性强 劣势:功能相对局限
--文档数据库 例如mangoDB
--优点:对数据结构要求不是特别严格 劣势:查询性能一般,且缺少统一查询语法
--图形数据库
优点:用图结构相关算法 劣势:需要对整个图做计算才能得出结果,不容易做分布式集群方案
NoSQL的特点
-易扩展(去掉了关系型数据库的那些关系)
-灵活的数据模型(不用像关系型数据库那样设置字段)
-大数据量,高性能
-高可用
查看全部 -
课程分为八个部分,分别为Nosql的概述,Redis的概述,Redis的安装和使用,Jedis的入门,Redis的数据类型,Keys的通用操作,Redis的特性,Redis的持久化...
查看全部
举报