Redis

Redis05-Redis的数据结构之整数集合

◇◆丶佛笑我妖孽 提交于 2020-09-27 03:04:46
前言 前面我们学习了 Redis04-Redis的数据结构之跳表 ,跳表这种数据结构,这篇我文章我们来学习另外一种数据结构----整数集合。 整数集合的概念 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,Redis就会使用整数集合作为集合键的底层实现,它可以保存的类型为int16_t、int32_t或者int64_t的整数值,集合中不允许有重复元素,Redis除了支持集合内的增删改查,同时还支持多个集合的交并集操作,合理地使用集合可以在实际开发中解决很多实际问题。 常用命令 集合内的操作 添加元素: sadd key element[element ...] ,返回结果为添加成功的元素个数。 删除元素: srem key element[element ...] ,返回结果为成功删除的元素个数。 计算元素个数: scard key ,该命令的实际复杂度为O(1),不会遍历集合中所有元素,而是直接使用Redis的内部变量。 判断元素是否在集合中: slsmember key element ,存在则返回1,否则返回0; 随机从集合中返回指定个数的元素: srandmember key[count] ; 从集合随机弹出元素: spop key ; 获取全部元素: smembers key ; 集合间操作 取交集: sinter key [key ...] 取并集

Effective GO

一曲冷凌霜 提交于 2020-09-27 02:58:21
最近有人推荐Effective Go,这本书算是给初学者看的,因为已经看多很多Go方面的书了,所以再看这本书,总体收获较小,文章地址:https://learnku.com/docs/effective-go/2020 讲述的知识里,有几点印象深刻一些,在这里分享出来 格式化 go fmt:https://www.jianshu.com/p/104b33439ac2 new和make区别 new:用来分配内存的内建函数, 但与其它语言中的同名函数不同,它不会 初始化 内存,只会将内存 置零 。 也就是说, new(T) 会为类型为 T 的新项分配已置零的内存空间, 并返回它的地址,也就是一个类型为 *T make:只用于创建切片、映射和信道,并返回类型为 T (而非 *T )的一个 已初始化 (而非 置零 )的值。 出现这种用差异的原因在于,这三种类型本质上为引用数据类型,它们在使用前必须初始化 数组和切片的关系 切片是对数组的引用 如果切片范围没有超过数组长度,则两者可以认为是完全相同的东西 如果切片范围超过数组长度,会自动创建一个新的底层数组,取消对原数组的引用,数组和切片便分隔开了 type type File struct/type Integer int:这是结构体,也是类型,实现了函数便是类 type IFile interface:这是接口

redis从入门开始看基本用法

醉酒当歌 提交于 2020-09-26 22:35:55
hi各位好,早啊,之前有接触过 一些redis ,但没深入。 这里学习些基本的命令操作也好。 由于 youtube 用到的是key-list形式的存储格式,所以还是针对性的学习。 For Video Recommendation in Deep learning QQ Group 277356808 视频推荐深度学习加这个群 For Visual in deep learning QQ Group 629530787 视觉深度学习加这个,别加错 I'm here waiting for you 别加那么多,没必要 0-注意,虽说不区分大小写,但要统一,不要大小写都有,乱用。 1-获取所有的keys 注:进行完下面的步骤才进行的这个 匹配所有以xmtest开头的key,只发现了一个xmtest2,为啥没有xmtest,因为其value为空了 > keys xmtest* 1) "xmtest2" 来源: oschina 链接: https://my.oschina.net/u/4362330/blog/4543559

谷粒商城SpringSession(三十五)

為{幸葍}努か 提交于 2020-09-26 11:55:35
225-230 在官网上截了2个片段,具体如下: 5. HttpSession Integration Spring Session 使用 HttpSession 提供透明的 integration。这意味着开发人员可以使用 Spring Session 支持的 implementation 切换 HttpSession implementation。 5.1 为什么 Spring Session&HttpSession? 我们已经提到 Spring Session 为 HttpSession 提供了透明的 integration,但是我们从中得到了什么好处呢? 集群会话 - Spring Session 使得支持群集会话变得微不足道,而不依赖于 application 容器特定的解决方案。 RESTful API - Spring Session 允许在 headers 中提供 session ID 以使用RESTful API 5.2 与 Redis 的 HttpSession 通过在使用 HttpSession 的任何内容之前添加 Servlet 过滤器来启用 Spring Session 和 HttpSession 。您可以选择使用以下任一方式启用此功能 基于 Java 的 Configuration 基于 XML 的 Configuration 5.2.1 Redis

面试官:你说你精通SpringBoot,你给我说一下类的自动装配吧

∥☆過路亽.° 提交于 2020-09-26 05:57:40
剖析@SpringBootApplication注解 创建一个SpringBoot工程后,SpringBoot会为用户提供一个Application类,该类负责项目的启动: @SpringBootApplication public class SpringbootSeniorApplication { public static void main(String[] args) { SpringApplication.run(SpringbootSeniorApplication.class, args); } } 这是一个被 @SpringBootApplication 注解的类,该注解完成了SpringBoot中类的自动装配任务: @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM,

生产实践 | 基于 Flink 的短视频生产消费监控

梦想的初衷 提交于 2020-09-25 18:43:20
本文详细介绍了实时监控类指标的数据流转链路以及技术方案,大多数的实时监控类指标都可按照本文中的几种方案实现。 短视频生产消费监控 短视频带来了全新的传播场域和节目形态,小屏幕、快节奏成为行业潮流的同时,也催生了新的用户消费习惯,为创作者和商户带来收益。而多元化的短视频也可以为品牌方提供营销机遇。 其中对于垂类生态短视频的生产消费热点的监控分析目前成为了实时数据处理很常见的一个应用场景,比如对某个圈定的垂类生态下的视频生产或者视频消费进行监控,对热点视频生成对应的优化推荐策略,促进热点视频的生产或者消费,构建整个生产消费数据链路的闭环,从而提高创作者收益以及消费者留存。 本文将完整分析垂类生态短视频生产消费数据的整条链路流转方式,并基于 Flink 提供几种对于垂类视频生产消费监控的方案设计。通过本文,你可以了解到: 垂类生态短视频生产消费数据链路闭环 实时监控短视频生产消费的方案设计 不同监控量级场景下的代码实现 flink 学习资料 项目简介 垂类生态短视频生产消费数据链路流转架构图如下,此数据流转图也适用于其他场景: 链路 在上述场景中,用户生产和消费短视频,从而客户端、服务端以及数据库会产生相应的行为操作日志,这些日志会通过日志抽取中间件抽取到消息队列中,我们目前的场景中是使用 Kafka 作为消息队列;然后使用 flink 对垂类生态中的视频进行生产或消费监控

[Abp vNext 入坑分享]

夙愿已清 提交于 2020-09-25 10:57:05
前言 本章结束之后,这个abp vnext系列算是初步完结了,基础的组件都已经接入了。如果各位还需要其它的组件的话,可以自己按需要进行接入使用。其实这个只是一个基础的框架,可以自己根据需要进行变通的。比如:如果没有太多需求且更熟悉三层的同学可以把application和application.contract去掉就是一个三层架构了。基础是基础,用好还是要看各位对业务的理解是否够深入才能发挥好框架的作用。 对于各个框架的使用,建议是:先使用起来,然后熟悉它,再然后改造它。并不是按照别人的标准一味的照抄,每一个框架都会有相应的痛点。。因此在使用的时候是要根据项目与团队来进行评估是否适用,若不适用的时候,如何去调整。这个不仅仅是架构师要考虑的事情。 个人经验(仅作参考):建议每一位有想法开发人员都要保持自己的独立思考能力,无论是针对业务还是技术。但是前期是先积累技术自己验证,多在群里 友好 交流,不说教只分析。先从大量的文章和博客中获取知识,理出自己需要的进行沉淀。到了一定地步(这个一定地步只能看感觉,这种感觉会非常的明显,需要自己保持反思,相当于比较大的坎,越过之后就是新的开始的这种)之后,再配合一些好的收费课程和书籍去深入和系统化的学习。比如:曾经我就在群里看到一个大佬的分享然后开始入门算法,当时他分享的是hash算法,后面我有把它很白话的用场景分享给前端朋友

第 1-2 课:Spring Boot 2.0 都更新了什么(上)

故事扮演 提交于 2020-09-25 10:56:27
2018 年 3 月 1 号 Spring Boot 2.0.0.RELEASE 正式发布,这是 Spring Boot 1.0 发布 4 年之后第一次重大修订,因此有多新功能和特性值得关注!在 Spring Boot 官方博客中我们了解到:Spring Boot 2.0 版本经历了 17 个月的开发,有 215 个不同的使用者提供了超过 6800 次的提交。 我们将 Spring Boot 2.0 更新的技术分为三类进行解读: 第一类,基础环境升级; 第二类,默认软件替换和优化; 第三类,新技术的引入。 基础环境升级 最低 JDK 8,支持 JDK 9,不再支持 Java 6 和 7 Spring Boot 2.0 要求 Java 8 作为最低版本,许多现有的 API 已更新,以利用 Java 8 的特性。例如,接口上的默认方法,函数回调以及新的 API,如 javax.time。如果你正在使用 Java 7 或更早版本,则在开发 Spring Boot 2.0 应用程序之前,需要升级你的 JDK。 Spring Boot 2.0 通过测试可以在 JDK 9 下正常运行,同时 Spring Boot 2.0 宣布不再支持 Java 6 和 7,据我了解国内绝大部分互联网公司的基本环境还在 JDK 7 或者 6 环境下运行,考虑升级 Spring Boot 2.0