- 博客(10)
- 资源 (15)
- 收藏
- 关注
原创 Redis学习总结 -- 持久化
持久化是Redis一项重要的功能,可以保证在异常情况下仅仅只有少量数据丢失。Redis的持久化方案有RDB和AOF,两者各有千秋。本文主要讨论RDB和AOF的实现原理与各自的优缺点。
2020-01-18 17:50:51 227
原创 LeetCode 671. Second Minimum Node In a Binary Tree
Given a non-empty special binary tree consisting of nodes with the non-negative value, where each node in this tree has exactly two or zero sub-node. If the node has two sub-nodes, then this node's va...
2020-01-16 23:55:42 263
原创 Redis学习总结 -- ziplist
ziplist在Redis中使用非常广泛,List、Ordered Set、Hash中都可以看到ziplist的使用。ziplist本质上使用一块内存实现了双向链表,相比传统的双向链表,它更好的利用了“局部性原理”以及产生更少的内存碎片,因此ziplist的内存使用效率更高,性能更好。此外,在小整数(0~12)的存储上,ziplist会更加节省内存(后面会进行具体分析)。然而,ziplist在插...
2020-01-16 09:50:57 384
原创 LeetCode 1287. Element Appearing More Than 25% In Sorted Array
Given an integer array sorted in non-decreasing order, there is exactly one integer in the array that occurs more than 25% of the time.Return that integer.给一个非降序排列的整型数组,只存在一个整数,要求:该整数出现次数超过25%。最后结果...
2020-01-13 23:44:51 282
原创 Redis学习总结 -- SkipList
SkipListSkipList是什么?SkipList是一种随机化的数据结构,大多数情况下,插入、删除、查找的复杂度均为O(logN)(最坏情况下为O(N))。因为SkipList的性能可以和红黑树媲美,并且实现和维护简单,所以常常有一些项目会使用SkipList替代红黑树,比如LevelDB、Redis的Ordered Set。目前K-V数据结构常见的有Hash、红黑树、和SkipLi...
2020-01-11 16:16:00 275
原创 Redis学习总结- 内部数据结构
对于有一定用户量级的互联网服务,缓存往往是提升系统性能的有效手段。缓存虽好,但在使用中也有很多坑需要注意。在缓存一览一文中,对缓存读写过程中可能碰到的问题进行分析,并给出相应的解决方案。在业务开发中,往往并不需要自研一套缓存系统,而是结合自身业务特点选择目前成熟的缓存系统。Redis和Memcache是目前用的比较多的两大开源缓存框架(mongodb是非关系型文档数据库,并不是缓存框架),下面就...
2020-01-08 22:10:00 205
转载 Qt多线程学习
QT通过三种形式提供了对线程的支持。它们分别是,一、平台无关的线程类,二、线程安全的事件投递,三、跨线程的信号-槽连接。这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势。多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应。在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的。线程类Qt 包含下面一些线程相关的类...
2020-01-08 21:39:52 234
转载 高性能后台服务器架构设计
转载自:http://blog.sina.com.cn/s/blog_3fba24680102vpvx.html如何设计高性能的大型网站系统?在移动互联网时代,客户端应用开发本身,并不是体验的决胜之处,真正对团队挑战的地方,还在于后端,无论是承压能力,还是安全性等方面,如果这些地方过不了关,整个应用的基础是不扎实的。提高服务器性能最简单粗暴的方式,就是增加机器和升级硬件...
2020-01-08 21:30:49 445
原创 缓存一览
在系统性能优化中,缓存是很重要的技术手段。通过将花费了大量资源或时间而得到的数据缓存起来的方式,来达到提高系统性能的目的。缓存可以分为本地缓存和分布式缓存,在本文中,我们主要讨论的是分布式缓存。缓存,一方面增加了成本,另一方面也增加了系统设计复杂度。在系统设计之初,往往并不需要缓存,而是随着系统规模变大,缓存才会被引入进来以提升系统性能。缓存虽然看起来很简单,但是用起来却并没有想象中的那么...
2020-01-06 00:31:34 552
原创 数据库索引总结
在业务开发过程中,Mysql是我们经常选择的数据存储方案,而索引又是Mysql中非常重要的内容。那么索引是什么?索引为什么会提升查询性能,反而又能影响更新性能呢?到底有没有必要建索引?索引使用过程需要注意哪些?
2020-01-02 00:03:18 540
qt编写的加密解密程序(linux系统专用)配置密码见说明
2010-12-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人