Redis 常用面试点和开发规范

作者: 怀老师 | 来源:发表于2020-04-17 22:05 被阅读0次


认识redis:

    Redis是Remote Dictionary Server(远程数据服务)的缩写,是把数据存储到内存中

    Nosql  not only sql  不仅仅是sql。泛指非关系数据库。Key=>value进行存储数据。Memcache、redis、mongodb同属nosql产品。

    数据结构:String Hash List Set Sorted set pub/sub Transactions

多个库的作用或者使用:

    ①公司有多个业务或者程序,可以一个业务使用一个库

    ②不同的数据类型,存储到不同库

redis两种备份数据方式:

    ①snappshoting(快照)默认开启,可以修改/redis/bin/dump.rdb进行频率的修改。m分钟内进行了n次修改

    ②append only file (aof)需要在配置文件开启:appendonly yes;appendfilename 'appendonly.aof';appendfsync eversec;分别是开启和设置需要保存到的文件以及频率,这个是每秒写一次。

    内存存储数据,在机器重启之后,数据就会丢失。 会定时备份数据到硬盘中,这种机制被称为数据持久化

什么场合使用:

    ①[Sort Set]排行榜应用,取top n操作,例如sina微博热门话题

    ②[List]获得最新N个数据 或 某个分类的最新数据

    ③计数器应用

    ④[Set]sns(social network site)获得共同好友

    ⑤[Set]防攻击系统(ip判断)等等

    ⑥[pub/sub]订阅,消息分发系统。当key更改时,都会收到通知。

对比memecache

    ①Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

    ②Redis支持master-slave(主—从)模式应用。

    ③Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

    ④Redis单个value的最大限制是1GB, memcached只能保存1MB的数据

    ⑤redis单核单线程,memcached是多核多线程。

    如果只是简单的缓存数据,两者都可以。

redis开发规范

    1:冷热数据分离,不要将所有数据都存储在redis中(冷数据即访问量低,或是一些用户画像等静态数据)

    2: 不同的业务数据要分开存储

    3:存储的key一定要设置过期时间(作为缓存Cache使用时)

    4:对于必须要存储的打文本数据一定要压缩后存取

    5:线上redis禁止使用keys正则匹配操作。(以为redis单线程,容易阻塞)

    6:可靠的消息队列服务(list的RpopLpush命令)

    7:谨慎全量操作HASH,SET等集合结构(HGETALL)

    8:根据业务场景合理使用不同的数据结构类型

    9:命名规范(如系统名:业务名:业务数据:其他)

    10:线上禁止使用monitor命令(调试命令,实时打印出reidis服务器接收到的命令)

    11:禁止大string(redis支持512MB的string,但是IO不允许)

    12:redis容量(键数建议1kw之内,避免回收不及时)

相关文章

  • Redis 常用面试点和开发规范

    认识redis: Redis是Remote Dictionary Server(远程数据服务)的缩写,是把数据存...

  • 使用Redis,你必须知道的21个注意要点

    前言 最近在学习Redis相关知识,看了阿里的redis开发规范,以及Redis开发与运维这本书。分使用规范、有坑...

  • Redis开发规范

    Redis开发规范 转载说明:文章转载自云栖社区,为了方便自己查看,如有侵权请告知本人阿里云Redis开发规范 一...

  • HTML:网站通用代码规范

    1. 概述 常用代码规范旨在增强团队开发协作、提高代码质量和打造开发基石的编码规范, 以下规范是团队基本约定的内容...

  • Redis开发规范

    前言 众所周知,Redis作为一款内存型K/V数据库通常会被使用在以下三种场景:当做NoSQL数据库;当做缓存;当...

  • Redis开发规范

    前言:本文档根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于规约条目的延伸信息中,“说明”对内...

  • Redis开发规范

    一、键值设计 1、key名设计 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业...

  • Redis开发规范

    1. 键值设计 1.1. key设计 (1)【强制】: 可读性和可管理性 以业务名(或数据库名)为前缀(防止key...

  • Redis 开发规范

    一、键值设计 1. key 名设计 (1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止 key ...

  • 前端规范

    常用html、CSS、javascript前端命名规范无论是从技术角度还是开发视角,对于web前端开发规范文档都有...

网友评论

    本文标题:Redis 常用面试点和开发规范

    本文链接:https://www.haomeiwen.com/subject/cwnuvhtx.html