Redisのチュートリアル - 基本的なデータ構造

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 值是粉丝的用户 IDscore 是关注时间。我们可以对粉丝列表按关注时间进行排序。

zset 还可以用来存储学生的成绩,value 值是学生的 IDscore 是他的考试成绩。我们可以对成绩按分数进行排序就可以得到他的名次。

 

其他高级命令

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 键值对统计数量信息

 

おすすめ

転載: www.cnblogs.com/ajjava/p/12376620.html