一、Redis得数据类型分为5种,String (字符串), Hash(哈希), List(列表),Set(集合) ,Zset(Sorted set:有序集合)
1.String
数据格式:Key: value
存储类型:可以包含任何数据,比如jpg图片或者序列化对象
常用命令:get set 一个键最大能存储512MB
2.Hash(哈希)
数据格式:key =>value 一个键值对集合
存储类型:string类型的field和value的映射表, hash特别适合用于存储对象
常用命令: hmset hget 每个hash可以存储2的32次方-1键值对,40多亿
3.List(列表)
数据格式:redis列表是简单的字符串列表,按照插入的顺序来排序,列表的头部(左边),列表的尾部(右边)
存储类型:列表名字 列表内容 适合消息队列,新闻缓存
常用命令:lpush(放到列表头), rpush(存放到列表尾部) ;lrange 列表名 0 10 (取出索引为0-10的内容),rpop(从尾部取出数据) 列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
4.Set(集合)
数据格式:redis的set是string类型的无序集合,集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是o(1)
常用命令:sadd 添加一个 string 元素到 key 对应的 set 集合中,成功返回1,如果元素已经在集合中返回 0,如果 key 对应的 set 不存在则返回错误。
smembers runoob :获取集合中的元素 集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
应用场景: 社交类应用“共同好友列表”
5.ZSet(有序集合)
数据格式:redis zset 和 set一样也是string类型元素的集合,且允许重复的成员,不同是的每隔元素都会关联一个double类型的分数 redis正是通过分数来为集合中的成员进行从小到大的排序,zset的成员是唯一的,但是分数却可以重复。
常用命令:zadd 集合名0 redis 添加内容 zrangebyscore 集合名0 1000 获取内容
应用场景:根据好友的亲密度排名
二 Redis数据备份与恢复
备份:
SAVE命令:
该命令将在 redis 安装目录中创建dump.rdb文件。
恢复数据: 如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可。获取 redis 目录可以使用 CONFIG命令,如下所示:
redis 127.0.0.1:6379> CONFIG GET dir1) "dir"2) "/usr/local/redis/bin"
Bgsave命令:
创建 redis 备份文件也可以使用命令 BGSAVE,该命令在后台执行。
127.0.0.1:6379> BGSAVEBackgroun d saving startedRedis
持久化
两种持久化方式:两种方式可以同时使用
RDB:(redis默认至此,无需配置)在指定的时间间隔内将内存中的数据集快照写入磁盘
优点:出现故障,容易恢复,性能最大化(分叉线程做持久化工作)
缺点:无法保障数据的高可用和最大限度的避免数据丢失
AOF:该机制以日志的形式记录服务器所处理的每一个写操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据师完整的。
优点: AOF机制可以带来更高的数据安全性,即数据持久性,3种同步策略:每秒同步,每修改同步,和不同步。该机制对日志文件的写入操作采用的是append模式,因此在写入过程中即使出现宕机的现象也不会破坏日志文件种已经存在的内容。如果日志过大,redis可以自动启用rewrite机制。即redis以append模式不断的将修改数据添加到老的磁盘文件中,同时还会创建一个新的文件用于记录此期间有哪些修改被执行。
缺点:
对于相通数量的数据集,aof文件通常大与rdb文件
同步策略不同,aof的运行效率会慢于rdb
网友评论