shine10076的博客

热爱可抵岁月漫长


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

HTTPS中的TLS

发表于 2019-05-20 | 分类于 网络基础

HTTPS中的TLS

SSL与TLS

SSL:(Secure Socket Layer)安全套接层。

TLS:(Transport Layer Security)传输层安全协议,是IETF在SSL3.0的基础上设计的协议。

从网络协议的角度理解HTTPS

HTTP:HyperText Transfer Protocol 超文本传输协议
HTTPS:Hypertext Transfer Protocol Secure 超文本传输安全协议
TLS:位于 HTTP 和 TCP 之间的协议,其内部有 TLS握手协议、TLS记录协议
HTTPS 经由 HTTP 进行通信,但利用 TLS 来保证安全,即 HTTPS = HTTP + TLS

阅读全文 »

Redis的使用场景

发表于 2019-05-19 | 分类于 数据库基础

Redis使用场景

1缓存

作为key-value形态的内存数据库,使用Redis缓存数据非常简单,只需要通过String类型将序列化后的对象存起来即可。

序列化(Serialization):是将对象的状态信息转化为可以存储或传输的形式的过程。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。

不过也有需要注意的地方:

  • 必须保证不同对象的key不可以重复,并且key尽量短,一半使用类名加主键拼接而成。
  • 选择一个有序的序列化方式也很重要,目的是提高序列化效率和减少内存占用。
  • 缓存期间的数据一致性。一半有两种做法:
    1. 只在数据库查询后将对象放入缓存,如果对象发生了删除或者修改操作,直接清除对应缓存(或者设置为过期)
    2. 在数据库新增和查询后将对象放入缓存,修改后更新缓存,删除后清除对应缓存,或者设置为过期。
阅读全文 »

Redis之RDB持久化

发表于 2019-05-19 | 分类于 数据库基础

Redis之RDB持久化

1RDB持久化的概念

​ 因为Redis数据库是一个内存数据库,一旦服务器进程退出,那么服务器中的数据库状态也会消失不见,为了解决这个问题,redis提供了RDB(Redis DataBase file)持久化功能。可以将redis中的数据库状态保存到磁盘中,避免数据的意外丢失。

阅读全文 »

Redis数据结构之简单动态字符串

发表于 2019-05-19 | 分类于 数据库基础

Redis的数据结构-简单动态字符串SDS

1.SDS的定义

sds结构:

1
2
3
4
5
6
7
8
9
struct sdshdr{
//记录buf数组中已经使用的字节数量
//等于SDS中所保存字符串的长度
int len;
//记录buf数组中未使用字节的数量
int free;
//字节数组
char[] buf
}

SDS遵循C字符串以空字符结尾的习惯,保存空字符的一字节空间不记录到len属性中。这样的好处是可以使用部分c语言的库函数。

阅读全文 »

Redis数据结构之跳跃表

发表于 2019-05-19 | 分类于 数据库基础

Redis数据结构之跳跃表

1.跳跃表的定义

跳跃表是一种有序数据结构,通过每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。

支持平均O(logN),最坏时间复杂度为O(N)复杂度的节点查找,还可以通过顺序性操作批量处理节点。

跳跃表在Redis里的用处:一是实现有序集合,另一个是在集群节点中用作内部数据结构。

阅读全文 »
1…456
Shine10076

Shine10076

28 日志
11 分类
24 标签
GitHub E-Mail
Links
  • 力扣
  • stack-overflow
  • GitHub
© 2020 Shine10076
|