Redis 的数据类型?

Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set(有序集合)

redis优势
速度快,因为数据存在内存中,类似于 HashMap,HashMap 的优势就是查找和操作的时间复杂度都是 O1)
支持丰富数据类型,支持 string,list,set,Zset,hash 等
支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
丰富的特性,可用于缓存,消息,按 key 设置过期时间,过期后将会自动删除 Redis 是单进程单线程的,Redis 利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。 一个字符串类型的智能存储最大容量是多少? 512M。 Redis 的持久化机制是什么?各自的优缺点? Redis提供两种持久化机制 RDB 和 AOF 机制: RDB(Redis DataBase)持久化方式:是指用数据集快照的方式半持久化模式记录 Redis 数据库的所有键值对,在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。 优点: 只有一个文件 dump.rdb,方便持久化。
容灾性好,一个文件可以保存到安全的磁盘。
性能最大化,fork 子进程来完成写操作,让主进程继续处理命令,所以是 IO 最大化。使用单独子进程来进行持久化,主进程不会进行任何 IO 操作,保证了 Redis的高性能。
相对于数据集大时,比 AOF 的启动效率更高。 缺点:数据安全性低。RDB 是间隔一段时间进行持久化,如果持久化之间 Redis 发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候
AOF(Append-only file)持久化方式:是指所有的命令行记录以 Redis 命令请求协议的格式完全持久化存储保存为 aof 文件。 优点: 数据安全,aof 持久化可以配置 appendfsync 属性,有 always,每进行一次命令操作就记录到 aof 文件中一次。
通过 append 模式写文件,即使中途服务器宕机,可以通过 redis-check-aof 工具解决数据一致性问题。
AOF 机制的 rewrite 模式。AOF 文件没被 rewrite 之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的 flushall) 缺点: AOF 文件比 RDB 文件大,且恢复速度慢。
数据集大的时候,比 RDB 启动效率低。 Redis 过期键的删除策略? 定时删除:在设置键的过期时间的同时,创建一个定时器 timer。让定时器在键的过期时间来临时,立即执行对键的删除操作。
惰性删除:放任键过期不管,但是每次从键空间中获取键时,都检查取得的键是否过期,如果过期的话,就删除该键;如果没有过期,就返回该键。
定期删除:每隔一段时间程序就对数据库进行一次检查,删除里面的过期键。至于要删除多少过期键,以及要检查多少个数据库,则由算法决定 Redis Sentinal 着眼于高可用,在 Master 宕机时会自动将 slave 提升为master,继续提供服务。 Redis Cluster 着眼于扩展性,在单个 Redis 内存不足时,使用 Cluster 进行分片存储 Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽,集群的每个节点负责一部分 hash 槽。 Redis key 的过期时间和永久有效分别怎么设置? EXPIRE 和 PERSIST 命令。

最新文章

  1. 把C#程序(含多个Dll)合并成一个Exe的超简单方法
  2. ccs3
  3. 树型dp
  4. linux下motion摄像头监控编译与配置
  5. nginx 反向代理 google
  6. SQL查看数据库所用用户表数量和使用的空间
  7. 【模拟,时针分针秒针两两夹角】【没有跳坑好兴奋】hdu - 5387 (多校#8 1008)
  8. 除了创建时指定窗口位置之外,还有3种移动窗口位置的办法(移动的同时往往可以改变窗口大小)(SetWindowPos最有用,它有许多标志位)
  9. oracle函数之replace
  10. (转)ubuntu 文件目录结构
  11. Linux系统编程(21)——信号的产生
  12. asp.net访问母版页控件方法
  13. 编译android-4.3.1_r源代码并刷到自己的Galaxy Nexus I9250真机上
  14. Python语法点滴
  15. Angular2.js——表单(下)
  16. [Noi2008]假面舞会
  17. Mongodb中 Documents文档说明
  18. SuperMap iObject入门开发系列之四管线长度统计
  19. MySQL_DML语言
  20. 爬虫时http错误提示

热门文章

  1. cmake之指定clang(++)编译器为默认编译器
  2. cmake之错误【Modules/ExternalProject.cmake:3206 (_ep_add_download_command)....】
  3. 【LeetCode】1037. Valid Boomerang 解题报告(C++)
  4. 【LeetCode】541. Reverse String II 解题报告(Python)
  5. 【LeetCode】583. Delete Operation for Two Strings 解题报告(Python & C++)
  6. TKE用户故事 | 作业帮检索服务基于Fluid的计算存储分离实践
  7. FAT
  8. FineGAN
  9. [opencv]findcoutours函数使用
  10. <数据结构>拓扑排序