从入门到高可用分布式实践-API的理解和使用
这篇我们总结学习一下Redis中一些API的使用,毕竟我们实际用的时候就是在调用这些API。
通用命令我们主要学习六个通用命令:keys、dbsize、exists key、del key [key ...]、expire key seconds、type key。
遍历所有的key
1keys *
keys还可以进行匹配输出
1234keys [pattern]keys k*keys k[1-3
...
从入门到高可用分布式实践-Redis初识
学习Redis一直都是零零散散的没有系统学习,虽然之前读过一本关于Redis的书籍,但是还是对很多概念是似懂非懂。从这篇开始将系统学习慕课网的一个Redis实战课程一站式学习Redis 从入门到高可用分布式实践。希望通过这个课程对Redis的理解更加深刻些。
Redis是什么?
我们看下维基百科对于Redis的解释:Redis是一个使用ANSI C编写的开源、支持网络、基于内存、
...
如何使用Python重命名文件
在 shell 命名中,我们很通过mv命令,可以很简单的移动一个文件到另外一个位置,或者重命名一个文件为另外一个名字。
在 unix 系统中,mv 命令可以用来移动文件,同时,也可以用来重命名一个文件。
使用Python的os和shutil模块也可以重命名文件
os.rename()和 shutil.move()方法都可以实现类似与 shell 中的mv命令相似的功能。
1234567891011
...
python的闭包、装饰器和functools.wraps
1. 闭包1.1 作用域作用域的概念就是变量可以被感知的空间范围。
LEGB法则: Python会按照优先级依次搜索4个作用域,以此来确定该变量名的意义。首先搜索局部作用域(L),之后是上一层嵌套结构中def或lambda函数的嵌套作用域(E),之后是全局作用域(G),最后是内置作用域(B)。按这个查找原则,在第一处找到的地方停止。如果没有找到,则会出发NameError错误。
引用这篇博客的
...
Python面试求职知识点简单总结
Python基础知识Python里面search()和match()的区别match()函数只检测RE是不是在string的开始位置匹配, search()会扫描整个string查找匹配
用Python匹配HTML tag的时候,<.*>和<.*?>有什么区别贪婪和非贪婪 *号是一个量词 量词后面加? 号表示 非贪婪,也就是尽可能少的匹配
什么是闭包?简单说,闭包就
...
日志查找好帮手-find和grep
一般要看日志的时候绝大部分情况下都是分析bug😳 如何快速定位查找到问题所在的文件和位置是我们首要的目的。因为Linux不像Windows系统有很好的图形界面,我们主要依赖一些命令进行查找日志。
今天主要想记录的主要是find和grep这两个命令,可以参考下面的文章学习下这两个命令:
每天一个linux命令(19):find 命令概览
每天一个linux命令(22):find 命令的参
...
深度剖析下上下文管理器contextmanager
我们首先看下今天探讨的对象contextmanager的源码。
12345678910111213141516171819202122232425262728293031def contextmanager(func): """@contextmanager decorator. Typical usage: @contextmanager def some
...
Asyncio中的子进程模块subprocess
asyncio提供了通过 async/await 创建和管理子进程的API。不同于Python标准库的subprocess,asyncio的子进程函数都是异步的,并且提供了多种工具来处理这些函数,这就很容易并行执行和监视多个子进程。
创建子进程的方法主要有两个:
coroutine asyncio.create_subprocess_exec()
coroutine asyncio.create
...
Linux查找目录下包含有某字符串的所有文件
有时我们需要在一堆的日志目录里面找到某些关键的日志信息,今天我们来看看如何快速找到。
如果我们想在当前目录下查找所有包含”phpernote”字符串的文件,可以这样输入命令:
1grep -rn "phpernote" *
即使当前目录下面有一对的文件 也会递归每个文件查找
参数含义解释:
1234567891011121314151617* 表示当前目录所有文件,也可以是某个文件名,可省
...
使用pymongo的bulk_write批量更新不同条件的数据
我们知道可以使用update根据查询条件进行批量更新MongoDB中的数据,但是这种更新的查询条件往往具有单一性,如果我们想一次性提交不同的查询条件进行不同的更新的这个时候update就不能满足了。
多方查找之后发现了 bulk_write 这个函数,下面我们看看如何使用。
12345678910111213141516171819202122232425262
...