Redis编程技巧
- 一、StringVeiw是什么?
- 二、OptionalString是什么?
- 三、怎么看keys *
- 1、vector配合back_inserter
- 2、set配合inserter
- 四、chrono_literals技巧
一、StringVeiw是什么?
是一种轻量级的字符串视图类型,通常提供的是一种对字符串的复制或者所有权的转移,其无需进行字符串的复制或者所有权的转移,简而言之其实就是一个只读字符串,避免了不必要的字符串复制的操作,提高性能,特别是在处理大量字符串操作或者需要高效传递字符串而不希望进行深复制的情况下,其效率是非常高的。
二、OptionalString是什么?
OptionalString是用来说明当出现空指针或者指针根本不存在的情况,假如说我们用的是正常的string,那返回一个空指针需要管理,这就涉及到了内存的管理,很麻烦,很容易出现内存泄露的问题,所以发明了一个OptionalString返回类型用来表明空指针或者指针不存在的情况,也是很方便了。同样,optional可以隐式转换成为bool类型,可以直接用if判定,无效元素返回false。
三、怎么看keys *
下面有两种方法,第一种方法是用vector容器配合back_inserter,另一种是set配合inserter。
1、vector配合back_inserter
要想知道Redis中有多少个key的话,一般都是用容器vector<string>,然后再用back_inserter这个迭代器进行尾插到容器中,到时候再遍历容器即可。
这个back_inserter是什么?
back_inserter就是back_inserter_iterator,也就是一个尾插的迭代器。
2、set配合inserter
这个方法与上面一样,但是我们常用set,因为set更快更高效。
同理,inserter就是inserter_iterator迭代器了,可以在任意位置插入的,这个要求我们是尾插那就加一个end()了。
四、chrono_literals技巧
chrono_literals 是 C++标准库中的一个命名空间,它提供了方便的字面量(literals)来表示时间单位,如秒(s)、毫秒(ms)、微秒(us)等。