自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 点赞模块设计:Redis缓存 + 定时写入数据库实现高性能点赞功能

本文基于 SpringCloud, 用户发起点赞、取消点赞后先存入 Redis 中,再每隔两小时从 Redis 读取点赞数据写入数据库中做持久化存储。点赞功能在很多系统中都有,但别看功能小,想要做好需要考虑的东西还挺多的。点赞、取消点赞是高频次的操作,若每次都读写数据库,大量的操作会影响数据库性能,所以需要做缓存。至于多久从 Redis 取一次数据存到数据库中,根据项目的实际情况定吧,这里暂时设了一个小时。项目需求需要查看都谁点赞了,所以要存储每个点赞的点赞人、被点赞人,不能简单的做计数。文章分四

2020-09-11 10:35:05 2573 2

原创 为什么 Redis 要比 Memcached 更火?

前言我们都知道,Redis和Memcached都是内存数据库,它们的访问速度非常之快。但我们在开发过程中,这两个内存数据库,我们到底要如何选择呢?它们的优劣都有哪些?为什么现在看Redis要比Memcached更火一些?这里就从各个方面来对比这两个内存数据库的差异,方便你在使用时,做出最符合业务需要的选择。要分析它们的区别,主要从以下几个方面对比:线程模型数据结构淘汰策略管道与事务持久化高可用集群化线程模型要说性能,必须要分析它们的服务模型。Memcached处理请求采用多线

2020-09-11 10:14:12 146

原创 面对亿级数据,MySQL硬的起来么???

1亿数据查询速度创建表test1test1表,结构比较简单,2个字段,都有索引。DROP TABLE IF EXISTS test1;CREATE TABLE test1( id int PRIMARY KEY COMMENT '编号' auto_increment, order_num bigint comment '订单号')COMMENT '用户表';/*order_num分别加索引*/create index idx1 on test1(order_num);插入1亿数据

2020-09-10 20:10:16 412

原创 ES 数据十亿级别如何提高查询效率?

性能优化的杀手锏——filesystem cache你往 es 里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到 filesystem cache 里面去。es 的搜索引擎严重依赖于底层的 filesystem cache ,你如果给 filesystem cache 更多的内存,尽量让内存可以容纳所有的 idx segment file 索引数据文件,那么你搜索的时候就基本都是走内存的,性能会非常高。性能差距究竟可以有多大?我们之前很多的测试和压测,如果走

2020-09-10 20:02:32 258

原创 JS 写逻辑判断,不要只知道用 if-else 和 switch

我们在编写 JS 代码时,经常会遇到逻辑判断复杂的情况。一般情况下,可以用 if/else 或 switch 来实现多个条件判断,但会出现一个问题:随着逻辑复杂度的增加,代码中的 if/else 和 switch 会越来越臃肿。本文将带你尝试写出更优雅的判断逻辑。比如说下面这样一段代码:const onButtonClick = (status) => { if (status == 1) { sendLog('processing') jumpTo('IndexPage')

2020-09-10 08:31:45 561

原创 MySQL如何最大程度防止人为误操作

MySQL帮助说明[root@xingzhiyu~]# mysql --help|grep dummy -U, --i-am-a-dummy Synonym for option --safe-updates, -U.i-am-a-dummy FALSE在mysql命令加上选项-U后,当发出没有WHERE或LIMIT关键字的UPDATE或DELETE时,MySQL程序就会拒绝执行。指定-U登录测试[root@xingzhiyu~]# mysql -uroot -proot

2020-09-09 08:34:12 153

原创 C#实现移动零和爬楼梯

移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。题解:public void MoveZeroes(int[] nums) { // 解法1:处理不为0的,再处理为0的 if (nums == null || nums.Length == 0)

2020-09-09 08:10:33 187

原创 java学习系列-Spring篇02:控制反转(IoC)与依赖注入(DI)

Spring中有3个核心的概念:控制反转(Ioc)、依赖注入(DI)、面向切面编程(AOP),spring中其他的技术都是依靠3个核心的技术建立起来的,所以玩spring需要先对这3个概念有个深入的理解。本文我们先介绍其中的两个:控制反转和依赖注入,而aop我们后面有专门的文章详解。引出spring有2个类,A和B,如下:public class A{ public void m1(){}}public class B{ public void m1();}上面2个类都有

2020-09-06 20:45:04 149

原创 mysql为什么不推荐使用uuid或者雪花id作为主键

一:mysql和程序实例1.1:要说明这个问题,我们首先来建立三张表,分别是user_auto_key, user_uuid, user_random_key, 分别表示自动增长的主键,uuid作为主键,随机key作为主键,其它我们完全保持不变.根据控制变量法,我们只把每个表的主键使用不同的策略生成,而其他的字段完全一样,然后测试一下表的插入速度和查询速度:注:这里的随机key其实是指用雪花算法算出来的前后不连续不重复无规律的id:一串18位长度的long值id自动生成表:用户uuid表随机主

2020-09-06 20:26:57 275

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除