Redis-持久化

Redis是一个键值对数据库服务器,服务器中通常包含着任意个非空数据库,而每个非空数据库中又可以包含任意个键值对,为了方便起见,我们将服务器中的非空数据库以及它们的键值对统称为数据库状态。

Redis是内存数据库,它将自己的数据库状态存储在内存里面,如果服务器进程退出,那么服务器中的数据库状态也会消失不见。为了解决这个问题,Redis提供了持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面,避免数据意外丢失。

阅读全文

Redis-对象

概述

上一篇文章,总结了Redis用到的所有主要数据结构,但是Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象。

每个对象都用到了底层的至少一种数据结构。通过这五种对象,Redis在执行之前可以根据对象类型判断对象是否可以执行给定的命令。使用对象还有一个好处就是可以针对不同场景设置不同的数据结构实现,优化对象在不同场景下的使用效率。

Redis系统还实现了基于引用计数技术的内存回收机制;还通过引用计数技术实现了对象共享机制,这一机制可以在适当的条件下,通过多个数据库键共享同一个对象来节约内存。

Redis的对象带有访问时间记录,该信息可用于计算数据库键的空转时长。

阅读全文

Redis-数据结构

概述

Redis是一个键-值数据库,其中:

  • 数据库键总是一个字符串对象;
  • 数据库的值可以是字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种对象中的一种。

以上的五种对象都由各种底层数据结构来实现,接下来就一一介绍。

阅读全文

Java并发之volatile关键字

定义

volatile是Java并发编程中的一个关键字,可以用来修饰变量。被它所修饰的变量,会拥有可见性以及原子性(针对单一读写而言)。

可见性

对于volatile变量而言,一个线程对其进行修改后所有线程都能读到修改后的值。

阅读全文

总结&暑期计划

概况

三月份四月份开始准备了春招,然而心有余而力不足。需要准备的方面太多,而自己又没有提前做一些准备,最后匆匆忙忙,当然也就没有收获什么offer。不过这一个多月以来也有一些进步,知道了公司招聘时都注重哪些方面的知识。同时看到很多大神都有写博客的习惯,本着模仿的心态,也创建了一个博客来尝试着总结自己的一些知识,也是通过这个途径来考察一下自己对知识掌握如何。

阅读全文

使用Hexo+Github搭建自己的博客

最近搭了自己的博客,把过程记录一下,避免以后再次踩坑。

阅读全文