- 博客(47)
- 收藏
- 关注
原创 Redis缓存穿透、击穿和雪崩
那么为什么redis会没有需要访问的数据呢?① 缓存穿透:大量请求根本不存在的key(下文详解)② 缓存雪崩:redis中大量key集体过期(下文详解)③ 缓存击穿:redis中一个热点key过期(大量用户访问该热点key,但是热点key过期。
2023-08-24 20:28:53
174
原创 Redis安装
Redis默认有16个数据库,默认使用第0个,可以用**select ** x 来切换。Redis是基于内存操作的,Redis的瓶颈是机器的内存和网络的带宽。Redis是基于内存操作的,Redis的瓶颈是机器的内存和网络的带宽。下面3行时在两毫秒内处理的数量,最后算一个每秒的平均。是一个压力测试工具!用来测试Redis性能的,只保存有一台服务器来处理这些请求(单机)对100000个请求进行测试。不同的数据库可以存不同的值。redis重要的配置文件。有100个并发的客户端。输入redis 密码。
2023-08-23 17:07:28
158
原创 Redis引入
用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长,这时就需要使用NoSQL数据库(可以很好地处理上述任务)
2023-08-23 17:04:37
106
原创 GoFrame学习随记2
如图所示,如果要查找数据项29,那么首先会把磁盘块1由磁盘加载到内存,此时发生一次IO,在内存中用二分查找确定29在17和35之间,锁定磁盘块1的P2指针,内存时间因为非常短(相比磁盘的IO)可以忽略不计,通过磁盘块1的P2指针的磁盘地址把磁盘块3由磁盘加载到内存,发生第二次IO,29在26和30之间,锁定磁盘块3的P2指针,通过指针加载磁盘块8到内存,发生第三次IO,同时内存中做二分查找找到29,结束查询,总计三次IO。原理告诉我们,当计算机访问一个地址的数据的时候,与其相邻的数据也会很快被访问到。
2023-08-23 16:59:09
467
原创 GoFrame学习随记1
首先创建一个结构体,该结构体是空的,说明它不是用来存储数据的,而是用来关联数据的。我们常看到,多个方法调用同一个结构体,并在内部对其进行“操作”,但是反过来一想,在这种情况下,一个结构体也与多个方法产生了关联(绑定),毕竟力是相互的嘛!你懂的~。然后是一个初始化init函数,主要作用是在应用程序初始化过程中注册服务。为啥要注册这么一下子?因为它调用了。
2023-08-23 16:55:29
538
原创 Linux学习-实用小技巧
还可以通过 history | grep ch 来过滤特定历史输入,如过滤“ch”!p : 查找最近的搜索结果为p开头的,执行之。
2023-07-25 16:53:28
92
原创 Linux学习-文件与用户
在 Linux 中我们可以使用或者在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。接下来的字符中,以三个为一组,且均为的三个参数的组合。其中,代表可读(read)、代表可写(write)、代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号而已。
2023-07-25 16:52:35
85
原创 MySQL基础学习7-索引和视图
索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。
2023-07-25 14:18:16
190
原创 MySQL34道练习题11-20
11 取得最后入职的五名员工+--------+------------+| ename | hiredate |+--------+------------+| ADAMS | 1987-05-23 || SCOTT | 1987-04-19 || MILLER | 1982-01-23 || JAMES | 1981-12-03 || FORD | 1981-12-03 |+--------+------------+select ename,HIREDATE fro
2023-07-22 11:38:01
58
原创 GoFrame项目学习与踩坑记录
*踩坑:**在构造查询语句的时候,要注意and和or执行的优先级。” 中的操作很类似,通过设置一个变量来测试是否满足条件。:这里的条件判断操作和 “
2023-07-22 11:34:40
253
原创 实战---GoFrame的CRUD需求设计(注意事项和知识补充)
该命令通过分析给定的logic业务逻辑模块目录下的代码,自动生成service目录接口代码注意****的路径,如果找不到internal/logic的路径,就改一下根目录,一般都是再cd一层。
2023-07-21 10:50:42
301
原创 GoFrameWeb_Demo-5
请求输入依靠对象实现,继承了底层的对象。包含一个与当前请求对应的返回输出对象Response,用于数据的返回处理。
2023-07-21 10:45:11
75
原创 GoFrameWeb_Demo-4
gcfg组件采用接口化设计,默认提供的是基于文件系统的接口实现。支持的数据文件格式包括:,项目中开发者可以灵活地选择自己熟悉的配置文件格式来进行配置管理。
2023-07-21 10:44:17
387
原创 GoFrameWeb_Demo-3
主要用于嵌入到用户自定义的结构体中,并且通过标签的形式给gmeta包的结构体打上自定义的标签内容(元数据),并在运行时可以特定方法动态获取这些自定义的标签内容。
2023-07-21 10:41:41
265
原创 GoFrameWeb_Demo-2
其中输入参数和输出参数都是两个,并且都是必须的一个都不能少。参数说明注意事项上下文Server组件会自动从请求中获取并传递给接口方法请求对象就算没有接收参数也要定义,因为请求结构体中不仅仅包含请求参数的定义,也包含了接口的请求定义。返回对象就算没有返回参数也要定义,因为返回结构体中不仅仅包含返回参数的定义,也可以包含接口返回定义。err error错误对象Server通过该参数判断接口执行成功或失败。上下文对象提供了对请求的环境和其他相关信息的访问。
2023-07-19 17:05:27
294
原创 GoFrameWeb_Demo-1
/ s := g.Server(): 创建一个 HTTP 服务器实例。s := g . Server() // s.BindHandler("/:name", func(r *ghttp.Request) { ... }):将处理函数绑定到路由规则 /:name 上,该规则匹配带有名为 name 的路径参数的请求。
2023-07-19 17:02:02
298
原创 GoFrame设计模式
Model模型定义也常用Entity实体对象来表示,主要用于数据库表的映射对象,在信息系统软件实际开发的过程中,要建立对象实例,将关系数据库表采用对象实体化的方式表现出来,辅助软件开发中对各个系统功能的控制与操作执行。建立实体类库,进而实现各个结构层的参数传输,提高代码的阅读性。从本质上看,实体类库主要服务于表示层、业务逻辑层以及数据访问层,在三层之间进行数据参数传输,强化数据表示的简约性。需要注意区分的是,这里的Model和MVC设计模式中的Model虽然都是一个名字但是差别巨大,职责完全不同。
2023-07-19 16:56:59
310
原创 基于GoFrame框架的Go语言语法学习-2
在Go语言中接口(interface)是一种类型,一种抽象的类型(多抽象?interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则):只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法)。---- 只要能干活,我就要,怎么干,我不管。牢记接口(interface)是一种类型。type 接口类型名 interface {
2023-07-19 13:56:13
155
原创 基于GoFrame框架的Go语言语法学习-1
package main import "fmt" // 类型定义 type NewInt int // 类型别名 type MyInt = int func main() {fmt . Printf("type of a:%T\n" , a) //type of a:main.NewInt (这家伙是真改啊) fmt . Printf("type of b:%T\n" , b) //type of b:int。
2023-07-19 13:53:32
194
原创 Go语言切片与方法
二. Go语言切片切片中的cap定义:从切片的起始元素开始到其底层数组中最后一个元素的数量,如果切片的len超过了cap,即cap<len之后,cap会双倍扩容,这边就是由原来的。这玩意有啥用呢?“cap 是指底层数组的大小。”这就明了了,也就是说cap需要给切片数组分配足够的地址空间,因为当len超过了cap时,go 会新申请一个底层数组,拷贝这边的值过去,把原来的数组丢掉。所以,cap的用途是在数据拷贝和内存申请的消耗与内存占用之间提供一个权衡。切片拷贝copy :函数 copy 在两个 s
2023-07-19 13:46:50
745
原创 7.18_SQL索引与视图
索引是在数据库表的字段上添加的,是为了提高查询效率存在的一种机制。一张表的一个字段可以添加一个索引,当然,多个字段联合起来也可以添加索引。索引相当于一本书的目录,是为了缩小扫描范围而存在的一种机制。
2023-07-19 13:24:07
137
原创 MySQL基础学习6-表的操作
查询的时候以某个特定的日期格式展示,这个函数可以将日期类型转换成特定格式的字符串。如果你提供的日期字符串是这个格式,str_to_date函数就不需要了!mysql 长日期默认格式:%Y-%m-%d %h:%i:%s。示例:把2的name改成jack,生日改成2000-01-11。:将date类型转换成具有一定格式的varchar类型。: 将字符串varchar类型转换成date类型。mysql 短日期默认格式:%Y-%m-%d。插入的时候,没有数据的值,都会被默认值**datetime类型。
2023-07-06 10:46:14
98
1
原创 MySQL基础学习5-多表连接与子查询
*union的效率要高一些,对于表连接来说,每连接一次新表,则匹配的次数满足笛卡尔积,成倍的翻。**但union可以减少匹配的次数,在减少匹配次数的情况下,还可以完成两个结果集的拼接。将查询结果集的一部分取出来,通常使用在分页查询当中(把搜索结果分页展示)案例:找出每个岗位的平均工资的薪资等级。例:按照薪资降序,取出排名在前5的员工。例:取出工资排名在[5-9]名的员工?第2页:limit [ 3, 3]第3页:limit [ 6 , 3],被嵌套的语句被称为子查询。假设每页显示3条记录。
2023-07-06 10:44:23
531
1
原创 MySQL基础学习2-mysql数据导入与常用命令
🐱,用is 或者 is not,因为数据库的null表示啥也没有,有啥比头?例:查询工资大于2500,并且部门编号为10或20部门的员工? 2.找出名字以T结尾的?问:查询哪些员工的津贴或补助为null。 3.找出名字以K开头的? 4.找出名字第二个字母是A的? 5.找出名字第三个字母是R的? 6.找出名字中带_的?例:1.找出名字含有O的?
2023-07-05 20:28:52
1658
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人