当前位置: 首页 > news >正文

如何快速模仿一个网站网页制作代码

如何快速模仿一个网站,网页制作代码,做网站推广员图片处理问题,乾安网站建设公司如何优化 Redis 内存使用 一、简介1.1 简介1.2 内存优化意 二、内存使用分析2.1 Redis内存使用机制2.2 Redis内存使用瓶颈分析 三、Redis 内存使用优化3.1 数据压缩3.1.1 压缩规则3.1.2 压缩策略 3.2 内存回收3.2.1 内存淘汰策略3.2.2 定期清除过期数据 3.3 性能优化3.3.1 合理… 如何优化 Redis 内存使用 一、简介1.1 简介1.2 内存优化意 二、内存使用分析2.1 Redis内存使用机制2.2 Redis内存使用瓶颈分析 三、Redis 内存使用优化3.1 数据压缩3.1.1 压缩规则3.1.2 压缩策略 3.2 内存回收3.2.1 内存淘汰策略3.2.2 定期清除过期数据 3.3 性能优化3.3.1 合理设置缓存失效时间3.3.2 使用内存优化工具 四、应对方案4.1 内存升级4.2 数据分片 五、Redis高级优化5.1 预热技术5.2 持久化技术5.2.1 RDB5.2.2 AOF 一、简介 1.1 简介 Redis 是一个快速的非关系型数据存储系统其特点是支持多种数据结构以及高性能。Redis 可用于缓存、队列、发布/订阅、排行榜等多种应用场景。 1.2 内存优化意 Redis 将所有数据存储在内存中因此内存的合理使用至关重要。合理优化内存使用可以提升 Redis 的性能增加 Redis 所能处理的数据量并减少 Redis 发生宕机的可能性。 二、内存使用分析 2.1 Redis内存使用机制 Redis 内存使用主要包括以下两个方面 服务器内存的基本使用在 Redis 服务启动后Redis 会向操作系统申请一部分内存用于服务器的运行和维护连接、客户端信息等。数据库键值对的内存分配当往 Redis 中添加键值对时Redis 会根据 value 的大小决定使用内存类型以及分配内存的方式。当单个键值对的大小超过了一定阈值时Redis 会将该键值对保存到磁盘上的临时文件中从而节省内存空间。 2.2 Redis内存使用瓶颈分析 Redis 内存使用的瓶颈主要包括以下三个方面 操作系统限制在 32 位操作系统下Redis 可使用的最大内存约为 3GB而在 64 位操作系统下则不受此限制。Redis 内存配置Redis 配置中的 maxmemory 参数用于控制 Redis 可以使用的最大内存量。如果将此参数配置过小导致 Redis 没有足够内存来存储键值对将会产生 Out Of Memory 错误。Redis 数据结构使用不同的数据结构也影响了 Redis 内存使用的瓶颈。例如在 Redis 中使用哈希表比使用列表更节省内存。因此在实际应用场景中应尽量优先选择适合当前业务场景的数据结构以便最大化地利用内存资源。 public class RedisOptimization {private static Jedis jedis;public static void main(String[] args) {jedis new Jedis(localhost, 6379);// 内存优化optimizeMemoryUsage();}/*** Redis 内存使用优化*/public static void optimizeMemoryUsage() {// 设置最大内存jedis.configSet(maxmemory, 4gb);// 查看内存使用情况String memoryUsage jedis.info(memory);System.out.println(memoryUsage);} }三、Redis 内存使用优化 3.1 数据压缩 3.1.1 压缩规则 Redis 提供了多种数据类型每种类型在进行数据压缩时需要遵循不同的规则。根据数据类型的特点Redis 压缩规则如下 字符串类型字符串类型的数据无法进行压缩。列表类型如果列表中的所有元素都是整数类型将会在内存中以紧凑型整数数组的形式存储比普通列表类型占用更少的空间。集合类型如果集合中的所有元素都是整数类型将会在内存中以紧凑型整数数组的形式存储比普通集合类型占用更少的空间。散列类型如果散列中的所有元素都是短小的字符串类型将会使用 Quicklist 存储可以减小内存占用。有序集合类型如果有序集合中的成员元素和分值都是整数类型的话则使用紧凑型整数数组存储比普通有序集合类型占用更少的空间。 3.1.2 压缩策略 对于需要压缩的数据在 Redis 中支持多种压缩策略如下 quicklist 压缩对于长度较长的链表结构可以转化为 Quicklist 结构再进行压缩。RDB 文件压缩内存快照 RDB 文件可以使用 Gzip、LZF、Snappy 等算法进行压缩减小存储空间。LRU 内存淘汰可以选择只清除近期最少使用的数据同时防止大量数据被清除导致的缓存穿透。 3.2 内存回收 3.2.1 内存淘汰策略 Redis 支持多种内存淘汰策略来回收内存具体如下 noeviction不允许回收内存当内存不足时操作会报错。allkeys-lru从所有的键Redis 的数据结构中选择最少使用的那个回收等同于Least Recently Used算法。allkeys-random随机回收所有的键。volatile-lru从设置过过期时间的键值对中选择最近最少使用的那个回收。volatile-random随机从设置过过期时间的键值对中删除一个键。volatile-ttl根据键值对的 TLL回收时间最近的键值对。 3.2.2 定期清除过期数据 Redis 内置了定期清除过期数据的机制。可以通过配置文件中的maxmemory-policy和maxmemory-samples参数来进行设置。 3.3 性能优化 3.3.1 合理设置缓存失效时间 合理的设置缓存失效时间可以避免缓存被长时间占用而导致内存浪费。根据业务特点可以选择不同的失效策略如先进先出、最少使用等策略。 3.3.2 使用内存优化工具 Redis 内置了多个内存优化工具可以通过 redis-cli 命令来使用这些工具如下 info memory查看 Redis 内存使用情况。slowlog get查看慢查询记录。monitor实时查看 Redis 的操作日志。 四、应对方案 4.1 内存升级 如果当前 Redis 内存使用过高可以考虑将 Redis 机器的内存升级但需要注意 Redis 单进程最大支持512MB的内存如果超过这个限制需要采用数据分片来降低内存的使用量。 4.2 数据分片 数据分片是一种常用的 Redis 内存优化策略即将大规模的数据分为多个小块进行处理。不同的数据块可以存储在不同的 Redis 实例中从而降低单个 Redis 的内存使用量。不过数据分片需要注意数据一致性和读写同步问题。 五、Redis高级优化 5.1 预热技术 预热技术是指在Redis启动后提前将一些热点数据加载到内存中从而减少用户访问时的响应时间。具体实现可以通过定时任务或者手动触发将数据查询出来并写入Redis中留下足够的时间让Redis将数据加载到内存中。 5.2 持久化技术 Redis中有两种持久化技术分别为RDB和AOF。 5.2.1 RDB RDB即Redis Database是一个快照(snapshot)的形式通过将所有数据写入磁盘生成.Snapshot文件进行持久化同时支持将快照文件进行压缩缩小文件体积。RDB方式相对于AOF方式可以更好地进行缓存恢复但是可能会丢失一部分最近的写操作。 5.2.2 AOF AOF即Append-Only File是将Redis执行的所有写操作追加到文件默认名为appendonly.aof中进行持久化这些写操作包括SET、DEL等命令。AOF方式相对于RDB方式可以更好地保证数据的安全性但是在数据量比较大时AOF文件的体积也会变得很大同时对于缓存的恢复效率也有一定影响。 public class RedisService {// Redis连接池配置信息private static final JedisPoolConfig POOL_CONFIG new JedisPoolConfig();// Redis服务器IP地址private static String ADDR localhost;// Redis的端口号private static int PORT 6379;// 访问密码private static String AUTH null;// 可用连接实例的最大数目默认值为8private static int MAX_ACTIVE 8;// 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例默认值也是8private static int MAX_IDLE 8;// 等待可用连接的最大时间单位毫秒默认值为-1表示永不超时private static int MAX_WAIT -1;// 连接超时的时间private static int TIMEOUT 3000;// 在borrow一个jedis实例时是否需要验证若为true则所有jedis实例均是可用的private static boolean TEST_ON_BORROW true;// 初始化Redis连接池private static JedisPool jedisPool null;static {try {POOL_CONFIG.setMaxTotal(MAX_ACTIVE);POOL_CONFIG.setMaxIdle(MAX_IDLE);POOL_CONFIG.setMaxWaitMillis(MAX_WAIT);POOL_CONFIG.setTestOnBorrow(TEST_ON_BORROW);jedisPool new JedisPool(POOL_CONFIG, ADDR, PORT, TIMEOUT, AUTH);} catch (Exception e) {e.printStackTrace();}}/*** 获取jedis实例* * return*/public synchronized static Jedis getJedis() {try {if (jedisPool ! null) {Jedis resource jedisPool.getResource();return resource;} else {return null;}} catch (Exception e) {e.printStackTrace();return null;}}/*** 释放资源* * param jedis*/public static void returnResource(final Jedis jedis) {if (jedis ! null) {jedisPool.returnResource(jedis);}} }
http://www.yutouwan.com/news/214083/

相关文章:

  • 达令的网站建设做外贸都用什么网站
  • 建设银行网站扫码支付在哪里3d效果图什么网站做的好
  • 济南专业网站优化做1688网站到哪里找图片
  • 网站如何做品牌宣传有免费开网店的吗
  • 南昌优秀网站建设深圳企业公司网站设计
  • 浙江省住房城乡建设厅网站ps做网站首页效果图
  • 新加坡二手手机网站大全平台公司经营范围
  • 天河做网站设计wordpress+模版+推荐
  • 没有网站怎么做排名优化网页开发者工具怎么用
  • 昌乐营销型网站建设虹桥做网站公司
  • 学校网站建设报价网站图标怎么换
  • 验证网站所有权给别人做网站别人违法经营
  • 外贸个人网站沈阳工程学院信息公开网
  • 小学学校网站模板免费下载html5 手机网站
  • 外贸怎么用网站开发新客户湖南建设人社网
  • 网站排名的英文虚拟网站管理系统
  • 申请注册网站怎能建设个人网站
  • 制作网站项目实例做的比较好的法律实务培训网站
  • 做家教备课用什么网站合肥网页设计公司
  • dede视频网站自己电脑做网站iis
  • 公司网站建设网站合肥网页设计哪家服务好
  • 台州做网站电话淘宝网页版入口官网
  • 做网站图片教程直播传媒公司排名
  • 山东省城乡与住房建设厅网站首页成都高端网站建设那家好
  • 银川网站推广方式佛山网站代运营准度科技有限公司
  • 前期宣传网站推广方案国外 视频上传网站源码
  • 四川科隆建设有限公司网站品牌策划经典案例
  • 网站开发技术有一级门户网站建设费用
  • 培训网站建设情况深度网网站建设
  • 焦作网站设计公司搭建电商平台网站