Redis 学习笔记:列表类型

一、概述 redis 的列表类型可以存储一个有序的字符串列表,内部实现是一个双向链表,允许用户从两端插入元素。所以向两端插入数据的速度是极快的,而且获取数据时也是越接近两端速度越快,一个列表最多能容纳 2^32 - 1 个元素。 二、命令 2.1 在两端插入元素 LPUSH key value [valu ... 阅读更多

Redis 学习笔记:散列类型

一、概述 Redis 本生就是一个字典类型的键值关系数据库,结构为: 而其中还有一种散列类型的数据结构散列,它也是一种字典结构,存储了字段关系的映射。 散列就像是一个小的 redis 一样,只不过这个小型 redis 不支持其他类型,只能是字符串。 二、命令 2.1 设置和获取字段值 HSET key fi ... 阅读更多

Linux 文件操作

一、文件描述符 在 linux 系统内核中,所有打开的文件都是由文件描述符来表示。当打开或者创建文件时,系统会返回一个文件描述符,当向文件写入数据的时候,需要传递一个描述符给系统。 对于每一个应用程序,打开的文件描述符都是由小到大递增,从 0 开始。而且对于每个程序来说,系统都预定义了三个文件描述符 0 、 1 和 ... 阅读更多

WordPress 设置 CDN 后字体无法正确加载的解决办法

一、问题描述 给网站加了 CDN 后,网页的部分字体加载不出,同时一些图标也会显示异常: 控制台报以下错误:

二、跨域 跨域问题指的是网页源站和网页内的资源不处于同一站点,由于安全问题浏览器将会限制网页对站点的访问。一个简单的例子: A 站 ... 阅读更多

Redis 中的位运算

一、基本用法 任何一门程序语言都离不开位运算这个功能,redis 虽然不是一门编程语言,但也是一个和编程密切关联的工具。因此位运算自然也是 redis 中不可或缺的功能。 redis 中位运算相关的方法: GETBIT key offset:获取第 offset 位的 bit,不存的的比特位返回 0 。 SETBIT ... 阅读更多

redis 字符串的基本用法和实现原理

一、基本用法 字符串是 redis 中的基本数据类型之一,能存储任何形式的字符串,包括二进制数据。同时,它还可以进行字符串运算、数据运算和位运算等操作。一个字符串最大能有 512M 。 字符串主要的操作命令有两个: GET KEY: 如果 KEY 存在就返回对应的值,如果不存在则返回空值 nil 。 SET KEY ... 阅读更多

MySQL 乐观锁

一、乐观锁说明 乐观锁的使用原理是在数据表中添加一个版本字段,每次先查询当前的版本,在更新数据的时候判断版本是否和查询到的版本一致,一致就说明数据没有被修改,可以操作数据并把版本号+1;如果版本号不一致就说明数据已经被更改了,不进行操作。 相对悲观锁来说,乐观锁用得更广泛一点,但乐观锁的缺点是操作失 ... 阅读更多

MySQL 悲观锁

一、什么是悲观锁 前文说明了 MySQL 事务在并发环境下会导致脏读和不可重复读等等的现象,数据库通过事务隔离级别也就是我们常说的锁来解决这个问题。悲观锁的工作原理是假设每次事务都会被其他事务打断,所以在每次操作数据时,都把数据设置成锁定状态,使得其他事务无法再操作。悲观锁能有效的防止数据并发带来的各种 ... 阅读更多