字典简介 字典是一种用于保存键值对的数据结构,可以通过键值对中的键快速地查找到对应的值.在Redis所使用的C语言中,并没有内置字典,所以Redis自己实现了字典. 整个Redis数据库的所有的键和值就组成了一个全局的字典,对数据库的增删改查操作都是构建在字典的操作之上的. 字典还是Redis的基本数据类型哈希(hash)的底层实现之一,当哈希数据类型的键和值的长度较大或者键值对数量较多的时候,Redis就会把字典作为哈希数据类型的底层实现. 字典还是Redis的基本数据类型有序集合(zset)…
整数集合简介 整数集合(intset)是Redis集合数据类型的内部编码之一,当集合数据类型中的元素都是整数并且元素数量较少的时候,Redis就使用整数集合作为内部编码. 整数集合(intset)中可以保存int16_t.int32_t和int64_t类型的整数,而且保证整数集合中元素不会重复. 整数集合的结构 整数集合(intset)的结构中包含三个属性:编码方式(encoding).元素数量(length)和元素数组(contents). 编码方式(encoding)表示当前整数集合的编码方…
压缩列表简介 压缩列表(ziplist)是由一个连续内存组成的顺序型数据结构.一个压缩列表可以包含任意多个节点,每个节点上可以保存一个字节数组或整数值.它是Redis为了节省内存空间而开发的. 压缩列表(ziplist)是哈希(hash)和有序集合(zset)的内部编码之一.当哈希(hash)中的元素个数比较少并且每个元素的值占用空间比较小的时候,Redis就会使用压缩列表做为哈希的内部编码.当有序集合(zset)中的元素个数比较少并且每个元素的值占用空间比较小的时候,Redis也会使用压缩列表…
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人. 文章不定期同步公众号,还有各种一线大厂面试原题.我的学习系列笔记. 基础概念 redis支持的5种数据类型中,有hash类型,hash类型的底层采用字典结构(多对key-value)实现,而字典结构的代码实现=hashTable=用到了hash表 字典结构的实现 字典结构由三种结构组合而成:字典结构=dict+dictht+dictEntry,关系如下: 代码实现: typedef struct dict { dictType *typ…
前提知识 字典,又被称为符号表(symbol table)或映射(map),其实简单地可以理解为键值对key-value. 比如Java的常见集合类HashMap,就是用来存储键值对的. 字典中的键(key)都是唯一的,由于这个特性,我们可以根据键(key)查找到对应的值(value),又或者进行更新和删除操作. 字典dict的实现 Redis的字典使用了哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,每个节点也保存了对应的键值对. Redis的字典dict结构如下: typedef s…
https://www.phpyuan.com/235739.html 一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. SELinux 主要由美国国家安全局开发.2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块. SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大.很多 Linux 系统管理员嫌麻烦都把 SELinux 关…
一文彻底明白linux中的selinux到底是什么 2018年06月29日 14:17:30 yanjun821126 阅读数 58877 标签: SElinux 更多 个人分类: Linux   一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统. SELinux 主要由美国国家安全局开发.2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块. SELin…
set 和 sorted set 前言 set 常见命令 set 的使用场景 看下源码实现 insert dict sorted set 常见的命令 使用场景 分析下源码实现 ZADD ZRANGE 总结 参考 set 和 sorted set 前言 前面在几个文章聊到了 list,string,hash 等结构的实现,这次来聊一下 set 和 sorted set 的细节. set Redis 的 Set 是 String 类型的无序集合,集合成员是唯一的. 底层实现主要用到了两种数据结构 h…
字典 字典,又称为符号表(symbol table).关联数组(associative array)或映射(map),是一种用于保存键值对(key-value pair)的抽象数据结构.在字典中,一个键(key)可以和一个值(value)进行关联,这些关联的键和值就称为键值对.字典中每个键都是独一无二的,程序可以在字典中根据键查找与之关联的值,或者通过键来更新值,又或者根据键来删除整个键值对,等等. 字典在Redis中的应用相当广泛,比如Redis的数据库就是使用字典来作为底层实现的,对数据库的…
MYSQL快速同步数据到Redis 举例场景:存储游戏玩家的任务数据,游戏服务器启动时将mysql中玩家的数据同步到redis中. 从MySQL中将数据导入到Redis的Hash结构中.当然,最直接的做法就是遍历MySQL数据,一条一条写入到Redis中.这样没什么错,但是速度会非常慢.如果能够想法使得MySQL的查询输出数据直接能够与Redis命令行的输入数据协议相吻合,可以节省很多消耗和缩短时间. Mysql数据库名称为:GAME_DB, 表结构举例: CREATE TABLE TABLE_…