Redis原码阅读--Object(101)

2021-08-29
阅读 4 分钟
1.1k
对象Redis基于前面的那些数据结构,创建了一个对象系统用来实现键值对数据库。那么就形成了五大基础对象字符串对象 String列表对象 List哈希对象 Hash集合对象 Set有序集合对象 ZSet因为引入了对象,所有Redis实现了基于引用计数技术的内存回收机制,当程序不在使用某个对象的时候,对象所占用的内存就会被自动释放,另...
封面图

unsigned and 01

2021-08-27
阅读 2 分钟
840
代数运算对应 1003 + 1 =1004 {代码...} 也就是说同一个非负整数 在十进制和二进制都 有一个序列和它一一对应数本身是一一对应的运算也是一一对应的 +1 -1也就是说加减法 在十进制和二进制是 等价的溢出的问题如果我们规定一个序列只有两位 {代码...} 如果你的序列不是无限的 而是有限的 你就会发现 他的所有元素会形成...
封面图

Redis原码阅读--intset(100)

2021-08-26
阅读 2 分钟
978
整数(intset)整数集合是集合键的底层实现之一,当一个集合只包含整数元素,并且元素数量不多时,就会用它整数集合时Redis用于保存数值的,它可以保存int16_t、int32_t、nt64_t分别对应short int longinsert.h {代码...} 整数集合的每个元素都是contents数组的一个数组项,它是从小到大排列的,并且不包含重复。你会发现...
封面图

Redis源码阅读--adlist(10)

2021-08-25
阅读 4 分钟
1.1k
双端链表adlist.c .hRedis里的List是双端链表的形式 {代码...} {代码...} {代码...} 注意这里的表头和表尾的next都是指向null的所以永远无环链表节点是使用的void*指针来保存节点值的 所以链表可以保存各种不同类型的值void指针可以指向任意类型的数据,就是说可以用任意类型的指针对void指针赋值 {代码...} {代码...} ...
封面图

Redis源码阅读--dict (11)

2021-08-25
阅读 4 分钟
1.3k
dictRedis字典是使用了哈希表作为底层实现的,一个哈希表里可以有多个哈希表节点,每一个哈希表节点保存字典的一个键值对。 {代码...} 数据结构字典 {代码...} {代码...} void *provdata 保存需要传给那些类型特定函数的可选参数。一般情况下字典只使用ht[0] ht[1]只会对ht[0]进行rehash时使用。哈希表 {代码...} 哈希表...
封面图

SpringSecurity初探

2021-08-23
阅读 8 分钟
959
stater {代码...} 写一个controller类测试 {代码...} 运行成功之后会提供一个密码 {代码...} 过滤链SpringSecurity本质就时一个过滤链在服务请求时创建,每个过滤器要放行才能去下一步FilterSecurityInterceptor 方法级的权限过滤器,基本谓语过滤链的底部 {代码...} ExceptionTranslationFilter 异常过滤器 用来处理认...

Redis的简单应用

2021-08-22
阅读 4 分钟
1.1k
Springboot整合Redis {代码...} 邮件发送开启邮箱服务,获得授权码 {代码...} 设置时间过期验证码 {代码...}

JWT简单测试

2021-08-20
阅读 8 分钟
2.1k
一但用户登录,每个后续请求都会包括JWT,从而允许用户访问该令牌允许的路由,服务和资源 单点登录就是JWT实现的 开销小,再不同域中可以轻松访问
封面图

Redis源码阅读--SDS(1)

2021-08-19
阅读 8 分钟
1.4k
Redis没有直接用C的字符串 (以空字符结尾的字符数组),而自己构建了一种字符串(simple dynamic string,SDS)的抽象类型。
封面图

Elasticserach学习记录(一)

2021-08-18
阅读 9 分钟
1.9k
注意 这些所以的东西版本都要一样ElasticSearch安装jdk至少1.8 ElasticSearch客户端,界面工具注意jdk必须与cpu的位数是一样的 否则会报JNA错误下载地址[链接] shearch和kibabn[链接] ik分词器[链接] head插件下载这些都是解压可用Elasticearch 启动点击 bin\下的elasticsearch.bat如果电脑内存不够大 启动前 记得去 con...
封面图