归档: 2021/6

redis发布订阅

5.1 简介进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 5.2 基本命令12345671.subscribe c1 c2 c3一次订阅三个2.publish c2 hello-world这时订阅的用户就能收到消息3.psubscribe new* 订阅多个new1 2 3….一般不会用redis做消息中间键 5.3 应用场景 网站综合消息通知 网站更新消息通知

epoll多路复用

select概述通过轮询检查在文件描述符上设置的标识位来进行判断,select的轮询相当于在数据库中查找一条记录没有建立索引,对所有的socket 进行全部遍历,这对 CPU 是浪费的。另外 select 还有一个限制,对于单个进程所能打开的文件描述符最大只能是 1024,那么基于 select 的轮询技术最多也只能很好的处理 1000 并发的吞吐量,可以查看 上一个10年,著名的C10K并发连接

RDB&AOF

2 RDB持久化2.1 是什么?在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里(内存的东西不保存关机就没了,为什么redis开机还有数据?因为内存中的数据集快照被写进了磁盘,开机从磁盘加载回内存。) 2.2 相关配置12345678redis.conf的SNAPSHOTTINGafter 900 seconds if at l

五大数据类型

string一个key对应一个value(和Memcached一样),字符串是一种最基本的Redis值类型。Redis字符串是二进制安全的,这意味着一个Redis字符串能包含任意类型的数据,例如: 一张JPEG格式的图片或者一个序列化的Ruby对象,一个字符串类型的值最多能存储512M字节的内容。 基础命令1234567891011121314151617181920212223242526272

NoSql发展史

1.1 Nosql概念nosql means not only sql 1.2 为什么Nosql?web架构历史了解一下orz 1.2.1 单机mysql的美好年代90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付,在那个时候,更多的网页都是静态的,动态交互类型的网站不多。APP(应用层)-> DAL() -> MysqlINSTANCE 架构缺陷 1.数据量的总大小

redis下载安装

3.1 是什么Remote Dictionary Server(远程字典服务器)是完全开源的用C语言编写的,遵守BSD协议,是一个高性能、单线程的KEY/value分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,也被人们称为数据结构服务器 3.1.1 为什么redis取代memcache? 1.支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 2.不

pysider2实现qq

login.py123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100

CAP&BASE

2.1 RDBMS ACID 1.A atomicity 原子性事务的成功条件是所有操作完成,事务失败整体回滚 2.C consistency 一致性数据库要一直处于一个一致的状态,事务让数据库从一个一致的状态,到另一个一致的状态 3.I isolation 隔离性事务之间互不影响(要看事务的隔离级别) 4.D duriability 持久性一旦

mysql逻辑架构

连接层 connection poolC/S程序都需要的:连接处理,身份验证,安全性 服务层(业务逻辑处理层)sql layer权限判断,sql解析,行计划优化, query cache 的处理以及所有内置的函数(如日期,时间,数学运算,加密)等等。各个存储引擎提供的功能都集中在这一层,如存储过程,触发器,视图等 架构 connectors不同语言中与sql的交互 Management Se

mysql索引失效

口诀orz 1.全值匹配我最爱 2.最佳左前缀法则 3.带头大哥不能死 4.中间兄弟不能断 5.索引列上不计算 6.范围之后全失效 7.百分like加右边 8.字符串里有引号 索引失效的情况 1.不在索引列上做任何操作(计算,函数,(自动or手动)类型转换),会导致索引失效而转向全表扫描 12explain select * from staffs where name=’july’;