Redis

96年/离职8个月/拒绝华为offer/目前自由职业-记这大半年来的挣扎与迷茫

流过昼夜 提交于 2020-08-12 11:46:28
仅以此文,记录自己这大半年来的挣扎与迷茫。 2019 年 11 月 在公司工作七个月之后,我被裁员了。 回忆自己这七个月的经历,不管是遇到的人和事,更多感到的是收获和感恩,于是我写下了: 「应届毕业生工作7个月小结」 ,当做对于这七个月的小小总结。 本想好好休息几天,不料第二天还在睡梦中,就有 HR 和猎头找上门来了.. 既然来了,就好好准备复习面试吧.. 2019 年 12 月 疯狂面试ing... 然后 12 月开始了疯狂面试,包括华为 (口头 Offer) 、字节跳动 (一面挂,面试官说很久没问过应届生了..) 等,一下子就面到了 12 月中旬了。 说实话,那段时间好怕面试官问: 「你对 HashMap 了解多少?」 这种问题。 从「基础结构」到「 1.7 到 1.8 版本变化」; 从「与其他 Map 结构对比和区别」到「 HashMap 具体的 put/resize/hash 等的具体过程」; 从「为什么 String/Integer 适合做 HashMap 的 K 」到「 HashMap 为什么不直接使用 hashCode() 处理后的哈希值直接作为 table 下标」; 从「什么是哈希,什么是哈希冲突」到「 HashMap 如何解决哈希冲突」; 再从 HashMap 延伸的其他 Java 常用集合.... 这些教科书式回答我都快说吐了.. 疯狂面试的生活

php使用shmop函数创建共享内存减少负载

落爺英雄遲暮 提交于 2020-08-12 09:55:22
PHP做内存共享有两套接口。一个是shm,它实际上是变量共享,会把对象变量序列化后再储存。使用起来倒是挺方便,但是序列化存储对于效率优先的内存访问操作而言就没啥意义了。另外一个是shmop,它是Linux和Windows通用的,不过功能上比shm弱了一些,在 Linux 上,这些函数直接是通过调用 shm* 系列的函数实现,而 Winodows 上也通过对系统函数的封装实现了同样的调用。 要创建共享内存段需要使用函数shmop,那么前提需要开启扩展。 shmop主要函数 shmop_open (创建或打开共享内存块)、shmop_write (向共享内存块中写入数据)、shmop_read (从共享内存块中读取数据)、shmop_size (获取共享内存块的大小)、shmop_close (关闭共享内存块)、shmop_delete (删除共享内存块) <?php //创建一块共享内存 $shm_key = 0x4337b101; $shm_id = @shmop_open($shm_key, 'c', 0644, 1024); //读取并写入数据 $data = shmop_read($shm_id, 0, 1024); shmop_write($shm_id, json_encode($data), 0); $size = shmop_size($shm_id); /

小程序商城--商城APP--开源商城--星然云商城系统

老子叫甜甜 提交于 2020-08-12 08:49:51
项目简介 星然云商城是基于当前流行技术采用前后端分离商城系统,包含商城,会员,充值,购物车,退款,订单,付款等功能,更适合企业,个人二次开发; 项目开源地址: https://github.com/xrshop/xrshop_h5 项目官网地址: http://ds.judaixia.com 主要功能如下: ① 订单模块:下单、购物车、支付,发货、收货、评价、退款等 ② 配置模块:各种配置 ③ 用户模块:登陆、注册、会员卡、充值、购买等 ④ 商品模块:商品添加、规格设置,商品上下架等 ⑤ 其他等 部分功能截图如下: 技术选型: 后端使用技术 1.1 SpringBoot2 1.2 MyBatis-Plus 1.3 SpringSecurity 1.4 Redis 1.5 Quartz 1.6 Mysql 1.7 swagger 1.8 Lombok 1.9 Hutool 1.10 Mapstruct 1.11 Redisson 前端使用技术 2.1 TypeScript3 2.2 Vue2 2.2 Sass 2.2 VueCli3 2.2 WebPack4 2.2 Babel 2.2 Git 2.2 Nginx​ 来源: oschina 链接: https://my.oschina.net/u/4552122/blog/4464157

PHP操作Redis

别等时光非礼了梦想. 提交于 2020-08-12 08:47:35
目录 基本指令 获取所有的key(keys) 判断键对应值的类型(type) 删除缓存项(del) 设置有效期(expire,expireAt) 获取有效期(ttl) 检测缓存项是否存在(exists) 查看当前数据库key的数量(dbSize) 清空当前数据库(flushDB) 清空所有数据库(flushAll) 字符串(string)类型 设置(set) 设置并指定过期时间(setex) 获取(get) 增加(incr, incrBy) 减少(decr, decrBy) 追加(append) 获取长度(strLen) 字符串截取(getRange) 列表(list)类型 将元素压入链表(lPush) 在某个位置插入新元素(lInsert) 设置某个元素的值(lSet) 获取列表元素个数(lLen) 获取下标对应的元素(lIndex) 获取某个选定范围元素集(lRange) 从列表左侧弹出数据(lPop) 根据值移除元素(lRem) 集合(set)类型 添加元素到集合(sAdd) 随机获取一个元素(sPop) 删除集合里指定的值(sRem) 遍历集合(sScan) 获取所有成员(sMembers) 获取集合元素个数(sCard) 并集(sUnion),差集(sDiff),交集(sInter) 有序集合(zset)类型 添加元素(zAdd) 元素分值增减(zIncrBy)

我只是面个功能测试,面试官却把我逼上绝路,鬼知道我经历了什么(面试全程自述)

喜欢而已 提交于 2020-08-12 08:43:42
又到一年找工作跳槽加薪升职季。 我,当然也在这个队伍中。我叫汪大牛,是腾讯课堂华测教育浩瀚学子中的一员,不过我现在是旁听生,还没有正式上直播课。 在我做好了充分的准备后,也因为年初影响,我最终选择了七月这个跳槽人数逐渐变少的月份,去选择我心仪的公司去面试。 自我介绍下 目标职位:功能测试 目标薪资:10k 地点:上海 毕业时间:2017年6月(到今年6月刚刚好3年) 公司名字:???我当然不会告诉你,这个得保密。 目前状况:还在华测教育学习,目前看了录播以及旁听了部分直播,还木有正式上课,一直做得是纯功能测试。 我以为我做好了万全准备,当技术、老总、HR小姐姐轮流来面试的时候,我还是有点慌的,下面说说我惊心动魄的面试经过: ======第一轮:技术面试===== 打前阵的问题: 1、自我介绍 2、说说项目 3、用例编写,一个用例大概多少数量,用什么方法编写的等等。 难点问题来了: Q1:tomcat是什么 我:脸上笑嘻嘻,心里mmp,好在哥博览群书,还关注了【程序员张无忌】这个公众号,两周前,我就在这个神奇的公众号上,看到了文章《软件测试工程师人手必备的一只:TOM猫,可以带你装逼带你飞!》,几乎一毛一样,tomcat是什么,它里面是什么。 但是我不能马上回答,我略作思考,轻松整理下,然后有条有理的说出来了~当然如果你也要关注这个神奇的公众号:程序员张无忌,

redis的数据淘汰机制

邮差的信 提交于 2020-08-12 07:53:39
在redis中,是允许用户设置最大使用内存大小的server-maxmemory,在内存限定的情况下是很有用的,比如:在一台8G的机子上部署4个redis服务点,每一个服务点分配1.5G的内存大小,减少内存紧张的情况,由此获取更为稳健的服务 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(驱逐):禁止驱逐数据 来源: oschina 链接: https://my.oschina.net/u/4255158/blog/4302819

redis

柔情痞子 提交于 2020-08-12 07:39:36
springBoot整合redisCluster(redis集群)模式 Redis的哨兵模式和集群模式 Redis哨兵(Sentinel)模式 Redis Sentinel集群部署 首次支持多线程:Redis 6.0与老版性能对比评测 高并发下redis的瓶颈分析 Docker化高可用redis集群 来源: oschina 链接: https://my.oschina.net/miaojiangmin/blog/4294403

2020Java面试题及答案,命中率高达90%

▼魔方 西西 提交于 2020-08-12 07:33:34
这份资源我自己历经三年才整理归类出来,现在免费分享给大家; 面试题有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合。 面试题以及答案,已经整理成PDF电子书形式打包在网盘; 面试题领取微信扫一扫,加好友请备注“博客园面试题”; 目录 上海-携程-Java高级面试题.pdf 北京-百度-Java中级面试题.pdf 深圳-乐信-Java高级面试题.pdf 深圳-腾讯-Java高级面试题.pdf 上海-拼多多-Java高级面试题.pdf 深圳-OPPO-Java高级面试题.pdf 上海-拼多多-Java高级面试题.pdf 北京-京东-Java实习生面试题.pdf 北京-京东-Java实习生面试题.pdf 杭州-阿里云Java实习生面试题.pdf 南京-软通动力-Java初级面试题.pdf 深圳-银盛支付-Java中级面试题.pdf 深圳-中国平安-Java中级面试题.pdf 深圳-蚂蚁金服-Java高级面试题.pdf 深圳-丰巢科技-Java高级面试题.pdf 深圳-商汤科技-Java高级面试题.pdf 厦门-中软国际-Java初级面试题.pdf 杭州-蚂蚁金服-Java高级面试题.pdf 杭州-蚂蚁金服-资深工程师面试题.pdf 广州唯品会-Java大数据开发工程师面试题.pdf 上海-携程

Redis入门到精通(七)——数据类型综合使用案例(应用于限时按次结算的服务控制)

…衆ロ難τιáo~ 提交于 2020-08-12 07:14:00
数据类型综合使用案例 1.业务场景:redis应用于限时按次结算的服务控制 解决方案 用户id当做key,如果key对应的value值不存在就设置value为1,同时设置一个生命周期,如果存在value值,直接加1操作,每次加1之前判断次数是否超过10 上面这种方案,每次加1之前都需要去判断次数是否超过10,有一种更好的方法 解决方案改良: 2.业务场景:微信消息基于时间顺序显示 业务分析: 四台手机(100,200,300,400),400和500是置顶消息。list普通每次接收消息先把队列中之前的数据删除掉,重新添加新的。最后消息显示的顺序是400在最前面,然后是300,最后是200 解决方案 基础知识所有案例总结 来源: oschina 链接: https://my.oschina.net/u/4313107/blog/4275348

一主两从三哨兵(三)-springboo连接使用

不问归期 提交于 2020-08-12 07:10:30
redis-sentinel 项目连接 1、一主两从三哨兵模式,实现springboot项目的链接使用示例 2、maven主要依赖: org.springframework.data spring-data-redis 2.3.2.RELEASE redis.clients jedis 3.3.0 3、哨兵配置: #哨兵的配置列表 spring.redis.sentinel.master=mymaster spring.redis.sentinel.nodes=192.168.111.129:27000,192.168.111.130:27001,192.168.111.131:27002 spring.redis.sentinel.password=123456 spring.redis.password=123456 4、测试示例: @Test public void testString (){ stringRedis.set("name", "dingzhen"); System.out.println(stringRedis.get("name")); } 5、成功输出展示: 2020-08-08 11:21:13.511 INFO 7884 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor :