Redisのは、キャッシュ全体の高可用性クラスタの教育ビデオプラスQQ必要があります:1324981084、ビルドへのインストールからビデオのこのセットをし、説明するのゼロベースから、クラスターのソースコードを解析します。
A、Redisの存在。5 各種基礎データ構造は以下のとおりです。文字列(文字列)、リスト(リスト)、SET(セット)、ハッシュ(ハッシュ)とZSET(順序集合)。
文字列(文字列)
文字列の文字列があるRedisの最も単純なデータ構造。Redisのすべてのデータ構造がユニークに基づいているキーの名前として文字列、そして唯一のキーの対応する値を取得する値のデータを。差分データ構造は、異なるタイプのことである値の構造が同じではありません。文字列の構造が広く使用されている、一般的な用途は、ユーザー情報をキャッシュすることです。当社は、ユーザーの情報構造に使用するJSONはシーケンスに文字列にシリアライズし、文字列をRedisのキャッシュへ。同様に、ユーザ情報は、デシリアライズプロセスを介して取り出されます。
キーと値のペア
バッチキーと値のペア:缶読むために複数の文字列の一括書き込み、ネットワーク時間のかかるオーバーヘッド保存
有効期限とセットコマンド拡張機能:缶キーは有効期限を設定し、ポイントが自動的に削除され、この機能は、多くの場合、コントロールのキャッシュの有効期限に使用されています
アトムカウント:場合値の値が整数である、それはまた、エネルギー自給操作することができます。範囲が大きくなるので、その範囲である長い署名された最小値と最大値を、この値を超えると、Redisのは文句であろう
リスト(一覧)
Redis 的列表相当于 Java 语言里面的 LinkedList,注意它是链表而不是数组。这意味着 list 的插入和删除操作非常快,时间复杂度为 O(1),但是索引定位很慢,时间复杂度为 O(n),这点让人非常意外。 当列表弹出了最后一个元素之后,该数据结构自动被删除,内存被回收。
Redis 的列表结构常用来做异步队列使用。将需要延后处理的任务结构体序列化成字符串塞进 Redis 的列表,另一个线程从这个列表中轮询数据进行处理。
右边进左边出:队列
右边进右边出:栈
hash (字典)
Redis 的字典相当于 Java 语言里面的 HashMap,它是无序字典。内部实现结构上同 Java 的 HashMap 也是一致的,同样的数组 + 链表二维结构。第一维 hash 的数组位置碰撞时,就会将碰撞的元素使用链表串接起来。
hash 结构也可以用来存储用户信息,不同于字符串一次性需要全部序列化整个对象,hash 可以对 用户结构中的每个字段单独存储。这样当我们需要获取用户信息时可以进行部分获取。而以整个字符串的形式去保存用户信息的话就只能一次性全部读取,这样就会比较浪费网络流量。 hash 也有缺点,hash 结构的存储消耗要高于单个字符串,到底该使用 hash 还是字符串,需要根据实际情况再三权衡。
set (集合)
Redis 的集合相当于 Java 语言里面的 HashSet,它内部的键值对是无序的唯一的。它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值NULL。 当集合中最后一个元素移除之后,数据结构自动删除,内存被回收。
zset (有序集合)
zset 似于 Java 的 SortedSet 和 HashMap 的结合体,一方面它是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。
zset 可以用来存粉丝列表,value 值是粉丝的用户 ID,score 是关注时间。我们可以对粉丝列表按关注时间进行排序。
zset 还可以用来存储学生的成绩,value 值是学生的 ID,score 是他的考试成绩。我们可以对成绩按分数进行排序就可以得到他的名次。
其他高级命令
keys:全量遍历键,用来列出所有满足特定正则字符串规则的key,当redis数据量比较大时,性能比较差,要避免使用
scan:渐进式遍历键,scan 参数提供了三个参数,第一个是 cursor 整数值,第二个是 key 的正则模式,第三个是遍历的 limit hint。第一次遍历时,cursor 值为 0,然后将返回结果中第一个整数值作为下一次遍历的 cursor。一直遍历到返回的 cursor 值为 0 时结束。
Redis存储键值对实际使用的是hashtable的数据结构
Info:查看redis服务运行信息,分为 9 大块,每个块都有非常多的参数,这 9 个块分别是:
Server 服务器运行的环境参数
Clients 客户端相关信息
Memory 服务器运行内存统计数据
Persistence 持久化信息
Stats 通用统计数据
Replication 主从复制相关信息
CPU CPU 使用情况
Cluster 集群信息
KeySpace 键值对统计数量信息