redis对象保存方式?

  • 一、redis对象保存方式?
  • 二、Redis数据淘汰机制

一、redis对象保存方式?

  Json字符串:
需要把对象转换为json字符串,当做字符串处理。直接使用set get来设置或者或。
  优点:设置和获取比较简单
  缺点:没有提供专门的方法,需要把把对象转换为json。(jsonlib)
字节:
  需要做序列号,就是把对象序列化为字节保存。

如果是担心JSON转对象会消耗资源的情况,这个问题需要考量几个地方,
  第一点:就是使用的JSON转换lib是否就会存在性能问题。
  第二点:就是数据的数据量级别,如果是存储百万级的大数据对象,建议采用存储序列化对象方式。如果是少量的数据级对象,或者是数据对象字段不多,还是建议采用JSON转换成String方式。
  毕竟redis对存储字符类型这部分优化的非常好。具体采用的方式与方法,还要看你所使用的场景。

二、Redis数据淘汰机制

  在 redis 中,允许用户设置最大使用内存大小 server.maxmemory,在内存限定的情况下是很有用的。譬如,在一台 8G 机子上部署了 4 个 redis 服务点,每一个服务点分配 1.5G 的内存大小,减少内存紧张的情况,由此获取更为稳健的服务。

  内存大小有限,需要保存有效的数据?
  redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略。
  redis 提供 6种数据淘汰策略:
  volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰
  volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰
  volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰
  allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
  allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
  no-enviction(驱逐):禁止驱逐数据

redis对象保存方式?相关推荐

  1. 重磅发布:Redis 对象映射框架来了,操作大大简化!

    欢迎关注方志朋的博客,回复"666"获面试宝典 前言 最近,Redis 官方博客宣布推出四个用于 Redis 的客户端工具库:Redis OM(对象映射库,Object Mappi ...

  2. redis的持久化方式RDB和AOF的区别

    https://blog.csdn.net/m0_38110132/article/details/76906422 博客 学院 下载 图文课 论坛 APP 问答 商城 VIP会员 活动 招聘 ITe ...

  3. Redis 对象的数据结构原理 - SDS、Inset、Dict、ZipList、QuickList、SkipList、RedisObject

    Redis 数据结构 1. SDS Redis 是用 C 语言写的,但是对于 Redis 的字符串,却不是 C 语言中的字符串(即以空字符'\0'结尾的字符数组),它是自己构建了一种名为 简单动态字符 ...

  4. Redis专题-持久化方式

    很多时候我们为了缓解数据库的压力,都会使用缓存来作为数据的存储方式,最常用的就是使用redis.将热点数据缓存在redis中可以有效缓解数据库的压力.但是如果redis挂了那些重要的数据怎么办?red ...

  5. 《Redis 设计与实现》读书笔记-Redis 对象

    一.Redis 对象 1.1 Redis 对象简介 Redis 使用对象来表示数据库中键和值,当我们在数据库中存储一个键值对时,至少会创建两个对象,一个对象用于存储键值对的键,另一个对象用于存储键值对 ...

  6. Redis 通过 RDB 方式进行数据备份与还原

    Redis 通过 RDB 方式进行数据备份与还原 Intro 有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文件进行 Redis 数据的备份和还原 Redis 持久化 ...

  7. Redis对象的refcount与lru属性(内存回收、对象共享、空转时长)

    本笔记参考<Redis设计与实现> P84~P88 内存回收 Redis在对象系统中使用reference counting技术实现了内存回收机制.程序可以通过跟踪对象的引用计数信息,在适 ...

  8. Java对象表示方式1:序列化、反序列化和 transient 关键字的作用

    前言快速到底 平时我们接触到的 Java 对象全都是在内存中的对象(它像磁盘中的一个个文件那样实实在在的存在着),所以它是无法进行 IO 操作或者网络通信的,因为在进行 IO 操作或者网络通信的时候, ...

  9. 以对象的方式来访问xml数据表(二)

    为什么要以对象的方式来访问xml数据表? 还记得,自己是在一次完成师兄布置的任务时接触到了xml,那时候需要用xml来作为数据文件,保存一个简单的图书管理系统的数据.于是就知道了,可以用xml文件来保 ...

最新文章

  1. 原始ajax方式调用asp.net后台方法
  2. Domain adaptation:连接机器学习(Machine Learning)与迁移学习(Transfer Learning)
  3. USACO 2.3.3 罗马数字
  4. centeros7安装docker
  5. 班尼机器人怎样下载_我的超级助手——G7算账机器人
  6. API通常的url语法
  7. 带left join 的sql的执行顺序
  8. 三维重建面试0:*SLAM滤波方法的串联综述
  9. C# 中利用 Conditional 定义条件方法
  10. data矩阵poj 2778 DNA Sequence
  11. 批处理查找html,批处理(bat)实现全盘搜索指定文件获取其完整路径方法大全,bat大全分享...
  12. 体验VisualStudio 2013中的内存分析功能
  13. matlab求解数学题,实验二Matlab求解数学问题
  14. ftp服务器的端口20和21的具体作用,ftp端口号20和21的区别
  15. ec12编码器电路图_光电编码器的电路原理图详解
  16. 互联网+房地产最后拼什么?除了技术还是技术
  17. 最新财报发布+天猫618双榜第一,耐克蓄力领跑下个50年
  18. MATLAB 级数计算
  19. Origin双Y轴图形画法,添加图例,合并图例
  20. 如何开搓饵不掉钩_为什么你开的搓饵总是无鱼咬钩?记住这4点,搓饵比拉饵效果更好...

热门文章

  1. 我们如何选择汽车继电器?
  2. 使用Python爬取知网信息
  3. Linux的目录结构
  4. 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  5. 基于RK3399分析Linux系统下的CPU时钟管理 - 第1篇
  6. 如何用python判断字符串包含多个字符串中的一个或多个?
  7. vae 实现_使用tensorflow 2和tensorflow概率实现vae的6种不同方式
  8. RPC框架和HTTP框架的区别
  9. java四大作用域_Java四大作用域
  10. [PPT 设置自动换片时间] PPT有几张老自动跳过,问题的解决过程记录