Redis(六)进阶:Redis的配置文件详解
前言 前面的学习我们只是知道了如何使用Redis ,但是我们作为开发人员,我们不仅要知其然,还要知其所以然,所以我们得从根本上理解,我们必须将Redis.conf(windows版叫redis.windows.conf)文件仔细的学习一下,提升自我!放飞自我! 在实际工作中:一些小小的配置,可以让你脱颖而出! 单位:Redis配置对大小写不敏感! 注意这里:任何写法都可,不区分大小写。 units are case insensitive so 1GB 1Gb 1gB are all the same. 包含:搭建Redis集群时,可以使用includes包含其他配置文件 网络: 解释如下所示: 123bind 127.0.0.1 # 绑定的ip protected-mode yes # 保护模式 port 6379 # 端口设置 通用GENERAL 12345678910111213daemonize yes # 以守护进程的方式运行,默认是 no,我们需要自己开启为yes! pidfile /var/run/redis_6379.pid # 如果以后台的方式运 ...
Redis(五)整合:SpringBoot如何整合Redis?
前言 Spring作为当前最火的一个框架,既然我们学习了Redis,我们肯定是要在实际项目中使用,那么肯定首选整合SpringBoot啦! 首先简单介绍下SpringBoot对Jedis的支持吧,在1.×版本的时候,SpringBoot的底层还是使用Jedis来连接Redis的,但是在2.×版本后,就换成了Lettuce。两者的区别如下: Jedis: 采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全的,使用 jedis pool 连接池! 更像 BIO 模式! Lettuce: 采用netty,实例可以再多个线程中进行共享,不存在线程不安全的情况!可以减少线程数据了,更像 NIO 模式! 如果你不太了解spring框架的话,建议可以先去看一下B站大神狂神说Java系列的教学视频,我当初就是看到他的。 引用站外地址 狂神说Java系列 https://space.bilibili.com/95256449/channel/seriesdetail?sid=393820 ...
Redis(四)整合:Redis在Jedis中如何使用和操作?
前言 Jedis是Redis官方推荐的Java连接开发工具! 虽然现在的SpringBoot2.×版本已经将Jedis换成了Lettuce,但是我觉得还是有必要了解一下Jedis的使用! 如何在java项目中整合Jedis并且连接Redis数据库? ①创建一个Maven项目 ②导入Jedis和fastjson依赖,耐心等待下载完成! 123456789101112<!--导入jedis的包--><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>4.3.1</version></dependency><!--fastjson--><dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson&l ...
Redis(三)基础:Redis中的事务和乐观锁如何实现?
前言 事务 ①原子性(atomicity)。一个事务是一个不可分割的工作单位,事务中包括的操作要么都做,要么都不做。 ②一致性(consistency)。事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。 ③隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。 ④持久性(durability)。持久性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。 在Redis事务没有没有隔离级别的概念! 在Redis单条命令式保证原子性的,但是事务不保证原子性! 乐观锁 ①当程序中可能出现并发的情况时,就需要保证在并发情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。 ②没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。 在Redis是可以实现乐观锁的! Redis如何实现事务? ①正常执行事务 123 ...
Redis(二)基础:三大特殊数据类型的学习和理解
在上一篇文章中我们讲了五大基本类型,他们是最常用的,而且百分之九十的程序员对于Redis只限于了解String这种最常用的。但是我个人认为,既然Redis官方提供了其他的数据类型,肯定是有相应的考量的,在某些特殊的业务场景中,这些特殊的类型还是能够给我们多一种解决思路!那么,这个学习就是值得的!!!接下来我们就来讲一讲三大特殊类型。 Geospatial: 地理位置 城市经纬度查询: 引用站外地址 经纬度查询 https://jingweidu.bmcx.com 注意点1:两极无法直接添加,我们一般会下载城市数据,直接通过java程序一次性导入! 注意点2:有效的经度从-180度到180度。 注意点3:有效的纬度从-85.05112878度到85.05112878度。 注意点4:m 为米。km 为千米。mi 为英里。ft 为英尺。 ①geoadd(添加)、geopos(查看)、geodist(计算距离)操作 123456 ...
Redis(一)入门:五大数据类型的学习和理解
概述 Redis是什么? Redis(Remote Dictionary Server ),即远程字典服务 ! 是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库! Redis能干嘛? 1、内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof) 2、效率高,可以用于高速缓存 3、发布订阅系统 4、地图信息分析 5、计时器、计数器(浏览量!) 6、… Redis的基本了解 首先我们可以看下官方文档是如何介绍Redis的: ①、英文文档 点击跳转. ②、中文文档 点击跳转. Redis-Key 简单介绍一下Redis中对Key的操作命令。希望大家可以跟着注释敲一遍,简单记一下,都是最常用的命令! 1234567891011121314151617181920212223 ...
redis学习之旅
Widows和Linux下如何安装Redis 要学习什么之前就需要先安装它,那么我们首先来安装一下redis。 安装包可以去redis官网或者github中查看: 引用站外地址 redis官网 https://redis.io/download 引用站外地址 Windows版github地址 https://github.com/microsoftarchive/redis/releases 引用站外地址 redis官方github地址 https://github.com/redis/redis/releases ...
Github Actions
概述 GitHub Actions 是一个持续集成和持续交付(CI/CD)平台,允许您自动化构建、测试和部署流水线。您可以创建工作流来构建和测试存储库中的每个请求,或者将合并的请求部署到生产环境中。 很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。 如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。 GitHub 做了一个官方市场,可以搜索到他人提交的 actions。另外,还有一个 awesome actions 的仓库,也可以找到不少 action。 上面说了,每个 action 就是一个独立脚本,因此可以做成代码仓库,使用userName/repoName的语法引用 action。比如,actions/setup-node就表示github.com/actions/setup-no ...
Linux三剑客
正则表达式 在讲linux三剑客之前,我们先来了解一下正则表达式。 什么是正则表达式?**正则表达式**,又称规则表达式**,**(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是[计算机科学](https://baike.baidu.com/item/计算机科学/9132?fromModule=lemma_inlink)的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。 基本正则表达式(BRE) BRE对应元字符有:^ $ . [] * 匹配字符 匹配次数 位置锚定 符号 作用 ^ 用于模式最左侧,如“^abcd”,匹配以abcd开头的行 $ 用于模式最右侧,如“abc$”,匹配以abc结尾的行 ^$ 组合符,表示空行 . 匹配任意一个且只有一个字符(任意一个字符),不能匹配空行 \ 转义字符,例如‘.’表示小数点 * 匹配前一个字符 ...
docker
Docker入门 Docker 为什么会出现 Docker 出现的原因是为了解决软件开发和部署的复杂性问题。Docker 可以在一个轻量级的容器中运行应用程序,这样就可以确保应用程序在不同环境中的一致性。这样就可以简化部署过程,并减少在不同环境中出现的问题。此外,Docker 还可以提高应用程序的可移植性和可重复性,并且可以在整个开发和部署流程中提高效率。 Docker的历史 Docker是一个开源项目,最初由Dotcloud公司开发。Dotcloud是一家云计算公司,专门提供云端基础设施服务。 在2010年,Dotcloud公司的一组工程师开始研究如何更好地管理和部署应用程序。他们发现,当时的应用程序部署方式存在诸多问题,如: 不同的环境导致应用程序在不同机器上表现不同 应用程序依赖的库和环境配置难以维护 部署和维护应用程序需要大量人力和时间 为了解决这些问题,Dotcloud公司开发了一种新的应用程序部署方式,即容器化。 在容器化中,应用程序和它所依赖的环境都被打包在一个容器中。这样,应用程序就可以在任何机器上运行,而且不会受到环境的影响。 Dotcloud公司在201 ...
jupyter notebook安装
首先找到python->Scripts目录下,在该目录下执行cmd命令 安装: pip install jupyter notebook 初始化jupyter notebook jupyter notebook --generate-config 找到Default config位置,修改jupyter_notebook_config.py文件,使用记事本打开,找到# c.NotebookApp.notebook_dir = '',去掉注释#,将你的工作目录放在''中保存即可。
Scikit-Learn
多种多样的机器学习 通常来说, 机器学习的方法包括: 监督学习 supervised learning; 非监督学习 unsupervised learning; 半监督学习 semi-supervised learning; 强化学习 reinforcement learning; 遗传算法 genetic algorithm. sklearn 官网 pip 安装 安装 Scikit-learn (sklearn) 最简单的方法就是使用 pip 安装它. 首先确认自己电脑中有安装 Python (>=2.6 或 >=3.3 版本) Numpy (>=1.6.1) Scipy (>=0.9) 然后找到你的 Terminal (MacOS or Linux), 或者 CMD (Windows). 输入以下语句: 12345# python 2+ 版本复制:pip install -U scikit-learn# python 3+ 版本复制:pip3 install -U scikit-learn 看图选方法 安装完 Sklearn 后,不要直接去用, ...