1. 概要:
Redis のハッシュ タイプは、文字列キーと文字列値を持つマップ コンテナーと考えることができます。したがって、この型は値オブジェクトに関する情報を格納するのに非常に適しています。ユーザー名、パスワード、年齢など。ハッシュに含まれるフィールドがほとんどない場合、このタイプのデータが占有するディスク領域も非常に少なくなります。各ハッシュには 4294967295 個のキーと値のペアを保存できます。
2. 関連コマンドリスト:
コマンドプロトタイプ | 時間計算量 | コマンドの説明 | 戻り値 | |
HSETキーフィールド値 | O(1) | キーがそうでない場合は、指定されたキーのフィールド/値ペアを設定します存在する場合、このコマンドはパラメーター内のフィールド/値のペアを持つ新しいキーを作成します。パラメーター内のフィールドがキーに既に存在する場合、その元の値は新しい値で上書きされます。 | 1 は、新しいフィールドを意味します。新しい値が設定されています。0 は、フィールドがすでに存在していることを意味します。元の値を新しい値で上書きします。 。 | |
HEXISTSkey フィールド | O(1) | 指定された Key に指定された Field が存在するかどうかを判定します。 | ||
HLEN key | O(1) | Keyに含まれるFieldの数を取得します。 | ||
HDEL キー フィールド [フィールド ...] | O(N) | 時間計算量の N は、パラメーターで削除されるフィールドの数を表します。パラメータで指定された複数のフィールドを、指定されたキーのハッシュ値から削除します。フィールドが存在しない場合、それらのフィールドは無視されます。キーが存在しない場合は、空のハッシュとして扱われ、0 が返されます。 | ||
HSETNXkey フィールド値 | O(1) | パラメーター内のキーまたはフィールドが存在しない場合にのみ、指定されたキーのフィールド/値のペアを設定します。それ以外の場合、コマンドは操作を実行しません。 | ||
HINCRBYkey フィールドの増加 | O(1) | 指定された Key の指定された Field に関連付けられた Value の値を増加します。キーまたはフィールドが存在しない場合、このコマンドは新しいキーまたはフィールドを作成し、それに関連付けられた値を 0 に初期化して、数値を増やす操作を指定します。このコマンドでサポートされる数値は 64 ビットの符号付き整数です。つまり、増分は負の値になる可能性があります。 | ||
HGETALLkey | O(N) | 時間計算量のNはKeyに含まれるFieldの数を表します。このキーに含まれるすべてのフィールド/値を取得します。戻り値の形式はフィールド、値などです。 | ||
HKEYSkey | O(N) | 時間計算量の N は、キーに含まれるフィールドの数を表します。指定されたキーのすべてのフィールド名を返します。 | フィールドのリスト。 | |
HVALSkey | O(N) | 時間計算量の N は、キーに含まれるフィールドの数を表します。指定されたキーのすべての値の名前を返します。 | 値のリスト。 | |
MGETkey field [field...] | O(N) | 時間計算量の N は、要求されたフィールドの数を表します。パラメータで指定されたフィールドに関連付けられた値のセットを取得します。要求されたフィールドが存在しない場合、その値は nil を返します。キーが存在しない場合、コマンドはそれを空のハッシュとして扱うため、nil のセットを返します。 | リクエストされたフィールドに関連付けられた値のセットを返します。返される順序は、フィールドのリクエスト順序と同じです。 | |
HMSET キーフィールド値 [フィールド値...] | O(N) | 時間計算量の N は、設定されているフィールドの数を表します。パラメータで指定されたフィールド/値のペアをペアごとに設定します。いずれかのフィールドがすでに存在する場合、元の値は新しい値で上書きされます。キーが存在しない場合は、新しいキーを作成し、パラメーターにフィールド/値を設定します。 |
3. コマンド例:
1. HSET/HGET/HDEL/HEXISTS/HLEN/HSETNX:
#在Shell命令行启动Redis客户端程序 /> redis-cli #给键值为myhash的键设置字段为field1,值为stephen。 redis 127.0.0.1:6379> hset myhash field1 "stephen" (integer) 1 #获取键值为myhash,字段为field1的值。 redis 127.0.0.1:6379> hget myhash field1 "stephen" #myhash键中不存在field2字段,因此返回nil。 redis 127.0.0.1:6379> hget myhash field2 (nil) #给myhash关联的Hashes值添加一个新的字段field2,其值为liu。 redis 127.0.0.1:6379> hset myhash field2 "liu" (integer) 1 #获取myhash键的字段数量。 redis 127.0.0.1:6379> hlen myhash (integer) 2 #判断myhash键中是否存在字段名为field1的字段,由于存在,返回值为1。 redis 127.0.0.1:6379> hexists myhash field1 (integer) 1 #删除myhash键中字段名为field1的字段,删除成功返回1。 redis 127.0.0.1:6379> hdel myhash field1 (integer) 1 #再次删除myhash键中字段名为field1的字段,由于上一条命令已经将其删除,因为没有删除,返回0。 redis 127.0.0.1:6379> hdel myhash field1 (integer) 0 #判断myhash键中是否存在field1字段,由于上一条命令已经将其删除,因为返回0。 redis 127.0.0.1:6379> hexists myhash field1 (integer) 0 #通过hsetnx命令给myhash添加新字段field1,其值为stephen,因为该字段已经被删除,所以该命令添加成功并返回1。 redis 127.0.0.1:6379> hsetnx myhash field1 stephen (integer) 1 #由于myhash的field1字段已经通过上一条命令添加成功,因为本条命令不做任何操作后返回0。 redis 127.0.0.1:6379> hsetnx myhash field1 stephen (integer) 0
2. HINCRBY:
#删除该键,便于后面示例的测试。 redis 127.0.0.1:6379> del myhash (integer) 1 #准备测试数据,该myhash的field字段设定值1。 redis 127.0.0.1:6379> hset myhash field 5 (integer) 1 #给myhash的field字段的值加1,返回加后的结果。 redis 127.0.0.1:6379> hincrby myhash field 1 (integer) 6 #给myhash的field字段的值加-1,返回加后的结果。 redis 127.0.0.1:6379> hincrby myhash field -1 (integer) 5 #给myhash的field字段的值加-10,返回加后的结果。 redis 127.0.0.1:6379> hincrby myhash field -10 (integer) -5
3. HGETALL/HKEYS/ HMGET/ HMSET:
#删除该键,便于后面示例测试。 redis 127.0.0.1:6379> del myhash (integer) 1 #为该键myhash,一次性设置多个字段,分别是field1 = "hello", field2 = "world"。 redis 127.0.0.1:6379> hmset myhash field1 "hello" field2 "world" OK #获取myhash键的多个字段,其中field3并不存在,因为在返回结果中与该字段对应的值为nil。 redis 127.0.0.1:6379> hmget myhash field1 field2 field3 1) "hello" 2) "world" 3) (nil) #返回myhash键的所有字段及其值,从结果中可以看出,他们是逐对列出的。 redis 127.0.0.1:6379> hgetall myhash 1) "field1" 2) "hello" 3) "field2" 4) "world" #仅获取myhash键中所有字段的名字。 redis 127.0.0.1:6379> hkeys myhash 1) "field1" 2) "field2" #仅获取myhash键中所有字段的值。 redis 127.0.0.1:6379> hvals myhash 1) "hello" 2) "world"
上記は Redis チュートリアル (4): ハッシュ データ型の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

C#と.NETは、Web、デスクトップ、モバイル開発に適しています。 1)Web開発では、ASP.Netcoreがクロスプラットフォーム開発をサポートしています。 2)デスクトップ開発では、さまざまなニーズに適したWPFとWINFORMSを使用します。 3)モバイル開発は、Xamarinを介したクロスプラットフォームアプリケーションを実現します。

C#.NETエコシステムは、開発者がアプリケーションを効率的に構築できるようにするための豊富なフレームワークとライブラリを提供します。 1.ASP.NETCOREは、高性能Webアプリケーションの構築に使用されます。2.EntityFrameWorkCoreは、データベース操作に使用されます。これらのツールの使用とベストプラクティスを理解することにより、開発者はアプリケーションの品質とパフォーマンスを向上させることができます。

c#.netアプリをAzureまたはAWSに展開する方法は?答えは、AzureAppServiceとAwselasticBeanStalkを使用することです。 1。Azureでは、AzureAppServiceとAzurePipelinesを使用して展開を自動化します。 2。AWSでは、Amazon ElasticBeanstalkとAwslambdaを使用して、展開とサーバーレス計算を実装します。

C#と.NETの組み合わせにより、開発者に強力なプログラミング環境を提供します。 1)C#は、多型と非同期プログラミングをサポートします。2).NETは、クロスプラットフォーム機能と同時処理メカニズムを提供し、デスクトップ、Web、モバイルアプリケーション開発で広く使用されています。

.NetFrameworkはソフトウェアフレームワークであり、C#はプログラミング言語です。 1..netframeworkは、デスクトップ、Web、モバイルアプリケーションの開発をサポートするライブラリとサービスを提供します。 2.C#は.NetFrameWork用に設計されており、最新のプログラミング機能をサポートしています。 3..NetFrameworkはCLRを介してコード実行を管理し、C#コードはILにコンパイルされ、CLRによって実行されます。 4. .NetFrameWorkを使用してアプリケーションをすばやく開発し、C#はLINQなどの高度な関数を提供します。 5.一般的なエラーには、タイプ変換と非同期プログラミングデッドロックが含まれます。 VisualStudioツールは、デバッグに必要です。

C#は、Microsoftが開発した最新のオブジェクト指向プログラミング言語であり、.NETはMicrosoftが提供する開発フレームワークです。 C#は、CのパフォーマンスとJavaのシンプルさを組み合わせており、さまざまなアプリケーションの構築に適しています。 .NETフレームワークは、複数の言語をサポートし、ガベージコレクションメカニズムを提供し、メモリ管理を簡素化します。

C#と.NETランタイムは密接に連携して、開発者に効率的で強力なプラットフォームの開発機能に力を与えます。 1)C#は、.NETフレームワークとシームレスに統合するように設計されたタイプセーフおよびオブジェクト指向のプログラミング言語です。 2).NETランタイムは、C#コードの実行を管理し、ガベージコレクション、タイプの安全性、その他のサービスを提供し、効率的でクロスプラットフォームの操作を保証します。

C#.NET開発を開始するには、次のことが必要です。1。C#の基本的な知識と.NETフレームワークのコア概念を理解する。 2。変数、データ型、制御構造、関数、クラスの基本概念をマスターします。 3。LINQや非同期プログラミングなど、C#の高度な機能を学習します。 4.一般的なエラーのためのデバッグテクニックとパフォーマンス最適化方法に精通してください。これらの手順を使用すると、C#.NETの世界に徐々に浸透し、効率的なアプリケーションを書き込むことができます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ホットトピック









