- 博客(78)
- 资源 (1)
- 收藏
- 关注
原创 php基础安装和配置
子进程的数量在下面配置的基础上动态设置:pm.max_children,pm.start_servers,pm.min_spare_servers,pm.max_spare_servers。)的闲置进程,比如最大闲置进程数是30,最大进程数是50,然后网站经历了一次访问高峰,此时50个进程全部忙碌,0个闲置进程数,接着过了高峰期,可能没有一个请求,于是会有50个闲置进程,但是此时。pm 设置为 static 时表示创建的子进程的数量,pm 设置为 dynamic 时表示最大可创建的子进程的数量。
2024-02-08 00:00:00
3441
原创 nginx+php 出现502 bad gateway
(转)最近在写PHP程序的时候发现了一些特殊的PHP符号,例如连续小于符号,三个小于符号,eot,eod,echo示例,print示例等,突然间 发现用这么久的PHP了,竟然连PHP的基本符号都没有认全,看到@号还查了半天才知道什么意思.把基本符号和一些外面常见的PHP符号整理成了列表,在我的博客上帖一下吧,需要的朋友们可以参考下PHP相关的特殊符号~注解...但也不能无休止调高,可以根据服务器内存情况,可以把 php-fpm 子进程数调到 100 或以上,在 4G 内存的服务器上 200 就可以。
2023-08-16 09:19:44
1981
原创 linux 常用命令awk
AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。AWK用法awk用法:awk'pattern{action}' files1.RS, ORS, FS, OFS 用法RS:Record Separator,记录分隔符 ORS:Output Record Separate,输出当前记录分隔符...
2023-05-18 15:58:29
1043
原创 进程、线程、协程的区别
线程是独立调度和分派的基本单位。由于每个进程都有自己的虚拟地址空间,那么显然每个进程都有自己的页表,那么当进程切换后页表也要进行切换,页表切换后TLB就失效了,Cache失效导致命中率降低,那么虚拟地址转换为物理地址就会变慢,表现出来的就是程序运行会变慢,而线程切换则不会导致TLB失效,因为线程无需切换地址空间,因此我们通常说线程切换要比较进程切换块,原因就在这里。因为每个进程都有自己的虚拟地址空间,而线程是共享所在进程的虚拟地址空间的,因此同一个进程中的线程进行线程切换时不涉及虚拟地址空间的转换。
2023-04-24 14:38:56
495
原创 redis 必知必会
1.redis 数据类型和常见使用场景 1,string:最基本的数据类型,二进制安全的字符串,最大512M。 2,list:按照添加顺序保持顺序的字符串列表。 3,set:无序的字符串集合,不存在重复的元素。 4,sorted set:已排序的字符串集合。 5,hash:key-value对的一种集合。 6,bitmap:更细化的一种操作,以bit为单位。 7,hyperloglog:基于概率的数据结构。 # 2.8.9新增 ...
2022-09-16 09:21:17
361
原创 php 约瑟夫环
约瑟夫问题是个著名的问题:N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的胜利者。例如只有三个人,把他们叫做A、B、C,他们围成一圈,从A开始报数,假设报2的人被杀掉。●首先A开始报数,他报1。侥幸逃过一劫。●然后轮到B报数,他报2。非常惨,他被杀了●C接着从1开始报数●接着轮到A报数,他报2。也被杀死了。●最终胜利者是C...
2022-08-12 11:42:20
299
原创 redis 介绍
1.redis 数据类型2.reids 常见数据类型使用场景3.redis 常见模块4.redis 备份与恢复5.redis 常见问题
2022-06-22 09:13:43
3358
原创 redis 主从复制原理
主从库模式一旦采用了读写分离,所有数据的写操作只会在主库上进行,不用协调实例。主库有了最新的数据后,会同步给从库,这样,主从库的数据就是一致的。同步分为三种情况:1.第一次主从库全量复制;2.主从正常运行期间的同步;3.主从库间网络断开重连同步。主从库第一次全量复制主从库第一次复制过程大体可以分为 3 个阶段:连接建立阶段(即准备阶段)、主库同步数据到从库阶段、发送同步期间新写命令到从库阶段建立连接该阶段的主要作用是在主从节点之间建立连接,为数据全量同步做好准备。从库会和主库建立连接,从
2022-05-13 10:52:17
1564
1
原创 redis zset
1、概述Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的成员数为 - 1 (4294967295, 每个集合可存储40多亿个成员)。2、常用命令ZADD key score1 member1 [score2
2022-03-18 16:52:37
408
原创 redis set
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。集合对象的编码可以是 intset 或者 hashtable。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 - 1 (4294967295), 每个集合可存储40多亿个成员)。
2022-03-18 11:16:48
122
原创 redis 哈希(Hash)
1、概述Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 - 1 键值对(40多亿)。2、常见命令HDEL key field [field ...]:删除一个或多个Hash的fieldHEXISTS key field:判断field是否存在于hash中HGET key field: 获取hash中field的值HGETALL key:从hash中读取全部的
2022-03-17 16:19:03
3692
原创 redis bitmap
1.概述Redis从2.2.0版本开始新增了setbit,getbit,bitcount,bitop等几个bitmap相关命令。虽然是新命令,但是并没有新增新的数据类型,因为setbit等命令只不过是在set上的扩展。通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。Bitmaps 本身不是一种数据结构,实际上它就是字符串(key 对应的 value 最后的一串二进制),但是它可以对字符串的位进行操作。 Bitmaps 单独提供了一套命令,所以在 Redis 中使用 Bitm
2022-03-17 09:34:03
473
原创 Redis Streams 介绍
Stream是Redis 5.0版本引入的一个新的数据类型,它以更抽象的方式模拟日志数据结构,但日志仍然是完整的:就像一个日志文件,通常实现为以只附加模式打开的文件,Redis流主要是一个仅附加数据结构。至少从概念上来讲,因为Redis流是一种在内存表示的抽象数据类型,他们实现了更加强大的操作,以此来克服日志文件本身的限制。Stream是Redis的数据类型中最复杂的,尽管数据类型本身非常简单,它实现了额外的非强制性的特性:提供了一组允许消费者以阻塞的方式等待生产者向Stream中发送的新消息,此外还有
2022-03-06 16:57:45
1406
原创 linux shell mail 发送邮件配置
1.相关配置 vim /etc/mail.rc,在最后加如下信息from:发送方邮件地址smtp-auth-user:发送方邮件地址smtp-auth-password:第三方令牌密码不是你邮箱的密码nns-config-dir:证书路径如果是腾讯云或者阿里云服务器那么25端口是被屏蔽的,如果要用465端口就必须有相关证书2.生成相关证书mkdir /root/.certs1.echo -n | openssl s_client -connect smtp.163.com
2022-03-01 10:55:27
1652
1
原创 redis 哨兵模式安装和需要注意的地方
1 .安装docker-redis docker-redis-sentine2.注意1.docker安装redis bind 0.0.0.0 而不是容器对应的ip2.docker-redis-sentinel 和docker-redis 必须是在同一个网络,否则两个容器无法通信3.如果主从同步没问题,但是故障无法转移注意查看redis 从服务器配置replica-announce-ip "172.18.95.170" (明确自身身份也即是当前redis 服务器主机的ip)repl.
2022-02-27 14:46:30
726
原创 redis 常见问题总结
1.Redis是单线程还是多线程呢? Redis不同版本之间采用的线程模型是不一样的,在Redis4.0版本之前使用的是单线程模型,在4.0版本之后增加了多线程的支持,在4.0之前虽然我们说Redis是单线程,也只是说它的网络I/O线程以及Set 和 Get操作是由一个线程完成的。但是Redis的持久化、集群同步还是使用其他线程来完成。4.0之后添加了多线程的支持,主要是体现在大数据的异步删除功能上,例如 unlink key、flushdb async、flushall async 等2....
2022-02-18 09:32:11
190
alaftealaftealaftealaftealafte
2024-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人