Redis の基本的なデータ型と操作 (概要の共有)
この記事では、Redis に関する関連知識を紹介し、主に基本的なデータ型と操作に関する関連内容を紹介します。一緒に見ていきましょう。皆様のお役に立てれば幸いです。
推奨学習: Redis ビデオ チュートリアル
Redis の概要
redis は、主に開発者の Salvatore によって開発されたツールです。 Sanfilippo Antirez が開発したオープンソースのメモリ データ構造メモリは、Web サイトのスケーラビリティを向上させるために使用されており、データベース、キャッシュ、メッセージ ブローカーなどとして使用でき、プロジェクト内で Redis と組み合わせて使用できます。
Redis は豊富なデータ構造、優れた速度、充実した機能を備え、多くの企業で利用されており、次のような特徴があります:
- 速い
- NoSQL データベース
- 多くの環境をサポート
- Queue
- Publish/Subscribe
- リアルタイム分析
- 機械学習: 機械学習用に大規模で多様かつ高速なデータを迅速に処理します
- 地理空間処理
- ランキング/数 (つまり、毎日よく見られる人気の検索)
- セッション キャッシュ
- フル ページ キャッシュ
Redis を使用している会社
redis-server
redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> PINGPONG
- String
- Hash
- List
- Collection
- Ordered Set
- HyperLogLog
- Bitmap
文字列に対する一般的な操作
- 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 city 5 北京
- 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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Redisクラスターモードは、シャードを介してRedisインスタンスを複数のサーバーに展開し、スケーラビリティと可用性を向上させます。構造の手順は次のとおりです。異なるポートで奇妙なRedisインスタンスを作成します。 3つのセンチネルインスタンスを作成し、Redisインスタンスを監視し、フェールオーバーを監視します。 Sentinel構成ファイルを構成し、Redisインスタンス情報とフェールオーバー設定の監視を追加します。 Redisインスタンス構成ファイルを構成し、クラスターモードを有効にし、クラスター情報ファイルパスを指定します。各Redisインスタンスの情報を含むnodes.confファイルを作成します。クラスターを起動し、CREATEコマンドを実行してクラスターを作成し、レプリカの数を指定します。クラスターにログインしてクラスター情報コマンドを実行して、クラスターステータスを確認します。作る

Redisデータをクリアする方法:Flushallコマンドを使用して、すべての重要な値をクリアします。 FlushDBコマンドを使用して、現在選択されているデータベースのキー値をクリアします。 [選択]を使用してデータベースを切り替え、FlushDBを使用して複数のデータベースをクリアします。 DELコマンドを使用して、特定のキーを削除します。 Redis-CLIツールを使用してデータをクリアします。

Redis指令を使用するには、次の手順が必要です。Redisクライアントを開きます。コマンド(動詞キー値)を入力します。必要なパラメーターを提供します(指示ごとに異なります)。 Enterを押してコマンドを実行します。 Redisは、操作の結果を示す応答を返します(通常はOKまたは-ERR)。

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

Redisを使用して操作をロックするには、setnxコマンドを介してロックを取得し、有効期限を設定するために有効期限コマンドを使用する必要があります。特定の手順は次のとおりです。(1)SETNXコマンドを使用して、キー価値ペアを設定しようとします。 (2)expireコマンドを使用して、ロックの有効期限を設定します。 (3)Delコマンドを使用して、ロックが不要になったときにロックを削除します。

Redisソースコードを理解する最良の方法は、段階的に進むことです。Redisの基本に精通してください。開始点として特定のモジュールまたは機能を選択します。モジュールまたは機能のエントリポイントから始めて、行ごとにコードを表示します。関数コールチェーンを介してコードを表示します。 Redisが使用する基礎となるデータ構造に精通してください。 Redisが使用するアルゴリズムを特定します。

Redisは、メッセージミドルウェアとして、生産消費モデルをサポートし、メッセージを持続し、信頼できる配信を確保できます。メッセージミドルウェアとしてRedisを使用すると、低遅延、信頼性の高いスケーラブルなメッセージングが可能になります。

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。
