Redis の基本的なデータ型と操作 (概要の共有)

WBOY
リリース: 2022-11-10 16:38:01
転載
1880 人が閲覧しました

この記事では、Redis に関する関連知識を紹介し、主に基本的なデータ型と操作に関する関連内容を紹介します。一緒に見ていきましょう。皆様のお役に立てれば幸いです。

Redis の基本的なデータ型と操作 (概要の共有)

推奨学習: Redis ビデオ チュートリアル

Redis の概要

redis は、主に開発者の Salvatore によって開発されたツールです。 Sanfilippo Antirez が開発したオープンソースのメモリ データ構造メモリは、Web サイトのスケーラビリティを向上させるために使用されており、データベース、キャッシュ、メッセージ ブローカーなどとして使用でき、プロジェクト内で Redis と組み合わせて使用​​できます。

Redis は豊富なデータ構造、優れた速度、充実した機能を備え、多くの企業で利用されており、次のような特徴があります:

  • 速い
  • NoSQL データベース
  • 多くの環境をサポート
#Redis はインメモリ データベースです。つまり、すべてのデータはハードディスクではなくメモリに保存されます (もちろん、ハードディスクの完全バックアップです)。もサポートされています)および増分バックアップ)。メモリの特徴は、高速アクセスと高速検索をサポートできることですが、スペースの制限もあります。

データベース アーキテクチャでは、通常、Redis はクライアントとデータベースの間に配置され、NoSQL データベースまたはアプリケーションの負荷を軽減し、キャッシュ中のデータ アクセスの待ち時間を短縮します。

Redis の主な用途

    Queue
  • Publish/Subscribe
  • リアルタイム分析
  • 機械学習: 機械学習用に大規模で多様かつ高速なデータを迅速に処理します
  • 地理空間処理
  • ランキング/数 (つまり、毎日よく見られる人気の検索)
  • セッション キャッシュ
  • フル ページ キャッシュ

Redis を使用している会社

Who uses Redis?

Redis が使用されていますStart

インターネット上には多くのインストール チュートリアルがあります。ここでは例として Mac 側を示します。Redis サーバーをインストールした後、次のコマンドを使用して Redis サーバーを起動できます:

redis-server
ログイン後にコピー
そして、次のコマンド -cli client を使用して redis を起動します:

redis-cli -h 127.0.0.1 -p 6379
ログイン後にコピー
図に示すように:

これで、オプションのメッセージをパラメーターとして受け入れることができます。 Redis PING コマンド、このコマンドは通常、クライアントとサーバー間の接続が正常かどうかをテストするために使用されます。ユーザーがパラメータなしでこのコマンドを実行すると、接続が正常であれば、サーバーはクライアントへの応答として PONG を返します。 Normal:

127.0.0.1:6379> PINGPONG
ログイン後にコピー
実際のテストは次のとおりです:

これで Redis の事前導入が完了しました。 Redis の基本的なデータ構造マシンの一般的な操作を見てみましょう。

Redis の基本データ型

    String
  • Hash
  • List
  • Collection
  • Ordered Set
  • HyperLogLog
  • Bitmap
この記事では、最初の 5 つの一般的なデータ構造を紹介し、その他のタイプについては他の記事で個別に紹介します。基本的なデータ型は次のとおりです。

String

String (string) は、Redis の最も基本的なキーと値のペアの型で、通常のテキストとシリアル化されたバイナリ データの両方を保持できます。

文字列型は、データベース内の 1 つのキーを 1 つの値に関連付けます。関連付けられたキーと値には、通常のテキスト データ、画像、ビデオ、オーディオ、圧縮されたファイルなどのより複雑なバイナリ データを使用できます。文字列型では最大 512M のデータを保存できます。

文字列に対する一般的な操作

    SET コマンド:
  • SET 番号 "10086" など、文字列に対応する値を設定します。
  • GET コマンド: キーに対応する値を取得します。
127.0.0.1:6379> SET number "10086"OK127.0.0.1:6379> GET number"10086"127.0.0.1:6379>
ログイン後にコピー
    GETRANGE: インターセプトされた文字列の内容を取得します。
  • STRLEN: 文字列の長さを取得します。
  • STRLEN email
  • SETEX として: 有効期限 (秒) を含む KEY-VALUE を設定します (例:
  • SETEX city 5 北京
#) ## フラッシュ セール アクティビティ PSETEX 設定ミリ秒
  • MSET:设置多个 KEY-VALUE ,如 MSET username jack sex male age 24
  • MGET:获取多个 VALUE,如 MGET username sex age
  • APPEND: 用于在字符串结尾追加内容
  • INCR:数字自增加1 ,如 INCR number
127.0.0.1:6379> INCR number(integer) 10087127.0.0.1:6379>
ログイン後にコピー
  • INCRBY:数字加上指定的整数值
  • INCRBYFLOAT:数字加上指定的浮点数
  • DECR:数字自增减一
  • DECBY:数字减去指定的整数值

这些命令,大家都可以自己在。 Redis 客户端进行测试。

哈希类型

用来保存更复杂的结构化数据

  • HSET:设置哈希表字段
  • HMSET:设置哈希表多个字段
  • HGET:获取哈希表字段值,如 HGET 8000 ename
  • HMGET:获取多个哈希表字段值,如 HMGET 80000 ename job deptno
  • HGETALL:获取所有哈希表字段值
  • HKEYS:获取所有哈希表字段名
  • HLEN:哈希表中的字段数量
  • HEXISTS:判断哈希表是否存在某个字段
  • HVALS:获取哈希表中的所有字段值
  • HDEL:删除哈希表的字段
  • HINCRBY:让哈希表某个字段值加上指定的整数值,如 HINCRBY 8000 deptono 10
  • HINCRBYFLOART:让哈希表某个字段值加上指定的浮点数

列表类型

当我们需要向 VALUE 保存序列化的数据,可以使用列表类型

RPUSH dname 技术部 后勤部 售后部
LPUSH dname 秘书处
LSET dname 2 销售部
LRANGE dname 0 -1
ログイン後にコピー
  • RPUSH:在列表末尾新增值
  • LPUSH:在列表开头新增值
  • LLEN:获取列表长度
  • LINDEX:获取列表某个元素,如 lindex dname 0
  • LINSERT:在某个位置插入元素,如 linsert dname before 秘书处 董事会
  • LPOP:删除最左边的元素 LPOP dname
  • RPOP:删除列表最右边的元素 RPOP dname
  • LREM:删除列表某个元素,如
RPUSH employee Scott
RPUSH employee Jack
RPUSH employee Scott

LREM employee 1 Scott # 删除第一个Scott,不是指索引为一
ログイン後にコピー

集合类型

假如要求数据不允许重复,则可以使用集合类型。

集合操作

SADD empno 8000SADD empno 8001SADD empno 8002SADD empno 8003 8004 8005SMEMBERS empno
ログイン後にコピー
  • SADD:将给定值添加到集合
  • SCARD:获取集合长度,如: SCARD empno
  • SISMEMBER:判断是否含有某个元素,如 SISMENBER empno 8000
  • SREM:删除某个元素
  • SPOP:随机删除并返回集合的某个元素,如 SPOP empno
  • SRANDMEMBER:随机返回集合中的元素,如 SRANDMEMBER empno 5
  • SUNION:组合两个或多个集合并返回所有元素的列表
  • SMOVE:将成员从一个集合移动到另一个集合

有序集合

带有排序功能的集合,Redis 按照元素分数值排序

ZADD keyword 0 "han" 0 "jack ma" 0 "Andrew wu"ZINCRBY keyword 1 "han"ZINCRBY keyword 5 "jack ma"ZINCRBY keyword 2 "Andrew wu"ZREVRANGE key 0 -1
ログイン後にコピー
  • ZCARD:获取有序集合长度
  • ZCOUNT:查询某个分数值区间内的元素数量,如 ZCOUNT keyword 5 10
  • ZSCORE:查询元素的分数值
  • ZRANGE:获取有序集合的内容(升序),如 ZRANGE keyword 0 -1
  • ZREVRANGE:获取有序集合的内容(降序),如 ZREVRANGE keyword 0 -1
  • ZRANGEBYSCORE:获取分数值区间内的集合内容(升序),如
zrangebyscore keyword 5 10  # 5-10
zrangebyscore keyword 5 (10  # 大于等于5, 小于 10
zrangebyscore keyword 100000 +inf
ログイン後にコピー
  • ZREVRANGEBYSCORE:获取分数值区间内的集合内容(降序) zrevrangebyscore keyword 10 5
  • ZRANK:获取元素的升序排名(从0开始)zrank keyword "xx"
  • ZREVRANK:获取元素的降序排名(从0开始)
  • ZREM:删除有序集合中的元素 ZREM keyword "x" "y"
  • ZREMRANGEBYRANK:删除排名区间内的元素 zremrangebyrank keyword 0 2
  • ZREMRANGEBYSCORE:删除分数值区间内的元素 zremrangebyscore keyword 0 -3

zremrangebyscore keyword inf (5000)

推荐学习:Redis视频教程

以上がRedis の基本的なデータ型と操作 (概要の共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:juejin.im
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!