検索
ホームページデータベースRedisコマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

この記事では、Redis の 5 つの基本タイプをコマンドと応用シナリオを通して紹介します。コマンドと実践方法はたくさんあります。皆さんのお役に立てれば幸いです。

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

redis 従来の 5 つのビッグ データ タイプのアプリケーション

redis 従来の 5 つのビッグ データ タイプの実装

Redis の概要:

Redis は、データベース、キャッシュ、メッセージング ミドルウェアとして使用できるオープン ソース (BSD ライセンス) のインメモリ データ構造ストレージ システムです。範囲クエリ、ビットマップ、ハイパーログログ、および地理空間 (地理空間) インデックス半径クエリを使用して、文字列、ハッシュ、リスト、セット、ソートされたセットなどの多くのタイプのデータ構造をサポートします。 Redis にはレプリケーション、LUA スクリプト、LRU エビクション、トランザクション、さまざまなレベルのディスク永続性が組み込まれており、Redis Sentinel と自動パーティショニング (クラスター) を通じて高可用性を実現します。 [関連する推奨事項: Redis ビデオ チュートリアル ]

redis コマンド クエリ: http://www.redis.cn/commands.html

注: redis コマンドはサイズではありません書き込みは区別され、キーは大文字と小文字が区別されます。

クエリ コマンド ヘルプ:

help @type noun

例:

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

#string 文字列型

最も一般的に使用される## セットkey vuue

getkey

複数のキー値を同時に設定/取得MSET キー値 [key value .. .]

MGET key [key ,,,]

値を増減します値を増加させます数値増分キー

キー増分によって指定された整数を増加します

数値減分キーを減分します

指定された整数を減分キーによって減分します

文字長の取得STRLEN キー

##分散ロック

##setnx キーの値set key value [EX 秒] [PX ミリ秒] [NX|XX]

EX: キーは何秒後に期限切れになりますか? コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

PX: 何ミリ秒後の有効期限以降のキー
  • NX: キーが存在しない場合、キーが作成されます。効果は setnx
  • XX: と同等です。キーが存在する場合は、キーを上書きします

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。アプリケーション シナリオ

製品番号と順序番号は、INCR コマンドを使用して生成されます。

はい、記事と同じです。
  • 読み取りカウント: 残りのアドレスをクリックしている限り、incr キー コマンドを直接使用して追加します。数字の 1 を入力すると、数字の記録が完了します。

コマンドの実践

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

ハッシュ ハッシュ タイプ

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

と Java データ構造のマッピング

Map>

一度に 1 つのフィールド値を設定します

## HSET キー フィールド値一度に 1 つのフィールド値を取得

HGET キー フィールド

一度に複数のフィールド値を設定

HMSET キー フィールド値 [フィールド値 ...]

複数のフィールド値を一度に取得

HMGET キー フィールド[フィールド ...]

すべてのフィールド値を取得

#hgetall key

#キー内のすべての数量を取得

hlen

キーの削除

#hdel

##コマンドのデモ

アプリケーション シナリオ

ショッピング カートの初期の頃、現在中小規模の工場は次のことができます。

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。 を使用して新しい製品を追加します --> hset shopcar:uid1024 334488 1

新しい製品を追加します --> hset shopcar:uid2014 334477 1製品数量を追加します- -> hincrby shopcar:uid1024 334477 1 product Total --> hlen shopcar:uid1024

すべて選択 --> hgetall shopcar:uid1024

list リストの種類

リストの左側に要素を追加します

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。lpush キーの値 [値 ...]

#リストの右側に要素を追加します

rpush key value [value ...]

リストを表示

lrange key start stop

要素を取得リスト番号

llenキー

コマンドの使用法

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

アプリケーションシナリオ

WeChat記事購読パブリックアカウント

1、[xx宝物]と[xx新聞]がそれぞれ記事11と22を公開

##2. 著者は両方をフォローしています。新しい記事が公開される限り、その記事は私のリストにプッシュされます

lpush likearticle: uid1024 11 22

3. author 自分のサブスクリプション アカウントのすべての記事はページングに似ています。次の 0 ~ 10 は、一度に 10 個のアイテムを表示することを意味します lrange likearticle:uid1024 0 10

コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

set 非重複リスト タイプ

要素の追加

sadd key member [member ...]

要素の削除

srem key member [member ...]

コレクションのすべての要素を取得します

smembers key

コレクション内に要素があるかを判定

sismember key member

コレクション内の要素数を取得

scard key

コレクションから要素をランダムにポップアップします。要素は削除されません

srandmember key [番号]

コレクションから要素をランダムにポップアップし、要素を 1 つ削除します

spop key [数値]

操作を設定します

    ##セット A - B
  • の差分演算
  • A に属するが B に属さない要素から構成されるセット
##sdiff key [key ...]

セットの共通部分は A ^ B## として計算されます。
  • #A に属し、B にも属する要素。

  • simter key [key ...]

セットの結合操作 A v B

  • A または B

  • 結合に属する要素の結合セットkey [key ...]

#アプリケーションシナリオ

##WeChat 宝くじミニ プログラム1. ユーザー ID、すぐに参加、sadd キー ユーザー ID

2. 参加者数を表示 現在 67231 人が参加しています scard key

3. 抽選 (任意選択)セットから N 名が当選) コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

srandmember キー 2 ランダム 2 人を引いた場合、要素は削除されません

spop キー 3 ドライバーが 3 人を引いた場合、要素は削除されます

WeChat モーメントでの「いいね!」

1. いいねを追加;sadd pub:msgid like user id1 like user id2

2. Like をキャンセル; srem pub:msgid like user id

3. すべてのポイントを表示 メンバーにいいねをしたユーザー pub:msgid1コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

4. いいねをしたユーザーの数の統計 (待機中の一般的な赤い数字) scard pub:msgid

5. 友人が正しいかどうかを判断する 著者が気に入った、sismember pub:msgid user id

Weibo の友人は社会的関係をフォローします

一緒にフォローしている人

#sadd s1 1 1 2 3 4

sadd s2 2 3 6 81コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

sinter s1 s2

共通の注目: 誰かの Weibo にアクセスすると、誰かと共有されている情報がすぐに得られます。 人

#私がフォローしている人も彼をフォローしています (私たちは皆同じ趣味を持っています)

私は Yu をフォローしていますファーウェイの成東氏、余成東氏も張昭東氏に続き、余氏と私は同じ趣味を持っています

sadd s1 1 2 3 4 5

sadd s2 3 4 5 6 7

sismember s1 3

sismember s2 3

QQ 知り合いかもしれない人を推薦します

sadd s1 1 2 3 4 5

sadd s2 3 4 5 6 7

// 共通の友人

sinter s1 s2

// 差分セット

sdiff s1 s2

sdiff s2 s1

zset 順序付きセット

一般的なコマンド

##1. 要素とその要素のスコアを順序付きセットに追加します

2. 要素を追加します

#ZADD キー スコア メンバー [スコア メンバー ...]##3. strat から stop in までのインデックスを持つすべての要素を返します要素スコアの到着順

zrange key start stop [WITHSORES]

4. 要素のスコアを取得
  • zscoreキー メンバー [メンバー ...]

5. 要素
  • zrem キー メンバー [メンバー ...]

6 を削除します。指定されたスコア範囲の要素を取得します
  • #zrangebyscore key min max [ WITHSCORES] [LIMIT offset count]
#7. 要素のスコアを増やします

    zincrby キー インクリメント メンバー
#8.

#zcard key
  • 9 の要素数のセットを取得します。指定したスコア範囲内の要素数を取得します

zcount key min max
  • 10. ランキング範囲に従って要素を削除します
  • zremrangebyrank key start stop

11. 要素のランキングの取得

  • zrank key member

  • Zrevrank の主要メンバー (大規模から小規模まで)

アプリケーション シナリオ

1. より多くの製品の販売 並べ替えて表示products

アイデア: 製品販売ランキング リスト (ソートされたセット) を定義します。キーはグッズ:sellsort、スコアは製品販売数量です。

製品番号 1001 の販売数量は 9、製品番号 1002 の販売数量は 15 | zadd Goods:sellsort 9 1001 15 1002
顧客が購入しましたさらに 2 個のアイテム 製品 1001、製品番号は 1001 です 大きく増加します 2 | Zincrby Goods:sellsort 2 10001
売上高で上位 10 製品を検索します zrange Goods:sellsort 0 10 withscores
1コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

2. Douyin hot search

1コマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。

1. 動画をクリックしてください

ZINCRBY hotavi:20220203 1 八百

ZINCRBY hotavi :20220203 15 Eight Hundred 2 Hua Mulan

2. その日の上位 10 件を表示

zrevrange hotavi:20220203 0 9 withscores

Forプログラミング関連の知識については、プログラミング入門をご覧ください。 !

以上がコマンドとアプリケーション シナリオを通じて、Redis の 5 つの基本タイプを理解できるようにガイドします。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
es和redis区别es和redis区别Jul 06, 2019 pm 01:45 PM

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

一起来聊聊Redis有什么优势和特点一起来聊聊Redis有什么优势和特点May 16, 2022 pm 06:04 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

实例详解Redis Cluster集群收缩主从节点实例详解Redis Cluster集群收缩主从节点Apr 21, 2022 pm 06:23 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

Redis实现排行榜及相同积分按时间排序功能的实现Redis实现排行榜及相同积分按时间排序功能的实现Aug 22, 2022 pm 05:51 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

详细解析Redis中命令的原子性详细解析Redis中命令的原子性Jun 01, 2022 am 11:58 AM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

一文搞懂redis的bitmap一文搞懂redis的bitmapApr 27, 2022 pm 07:48 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

实例详解Redis实现排行榜及相同积分按时间排序功能的实现实例详解Redis实现排行榜及相同积分按时间排序功能的实现Aug 26, 2022 pm 02:09 PM

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

redis error什么意思redis error什么意思Jun 17, 2019 am 11:07 AM

redis error就是redis数据库和其组合使用的部件出现错误,这个出现的错误有很多种,例如Redis被配置为保存数据库快照,但它不能持久化到硬盘,用来修改集合数据的命令不能用。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン