21.2.3 データ操作に関する留意事項
データ操作に関する留意事項を次に示します。
-
指定したkeyがすでにキャッシュに格納されている場合,ead_put()は無条件にvalueを更新します。無条件にvalueを更新したくない場合は,次の関数を使用してください。
-
ead_create()
新規にkeyを格納する場合だけ,valueをkeyに関連づけて格納します。
-
ead_update()
指定したkeyがすでに格納されている場合だけ,valueをkeyに関連づけて格納します。
-
ead_replace()
指定したkeyに関連づけられているvalueを,条件として指定したvalue情報と比較します。valueが一致している場合だけ,valueをkeyに関連づけて格納します。
-
-
ead_get()の実行時,次の場合にはead_value_element構造体のvalueメンバにNULLが返却されます。
-
keyがキャッシュに存在しない場合
-
value情報の取得に失敗した場合
-
valueのデータサイズが0バイトの場合(Java言語のAPIで格納された,長さ0のバイト配列を取得した場合)
-
-
ead_get()の実行時に,戻り値として返却されたvalueのメモリ領域は自動的には解放されません。APで解放してください。詳細については,「21.1.1(10)戻り値として返却されたメモリ領域を解放する」を参照してください。
-
ead_replace()の実行時に,指定したkeyが存在しない場合は,EAD_ERROR_SERVER_REPLACE_METHOD_KEY_NOT_EXISTが返却されます。
-
ead_replace()の実行時に,指定したkeyに関連づけられたvalueが,比較条件に指定したvalueと一致しなかった場合,EAD_ERROR_SERVER_REPLACE_METHOD_NOT_MATCHEDが返却されます。
-
ead_create()の実行時に,指定したkeyがすでに存在する場合,EAD_ERROR_SERVER_CREATE_METHOD_KEY_EXISTが返却されます。
-
ead_update()の実行時に,指定したkeyが存在しない場合,EAD_ERROR_SERVER_UPDATE_METHOD_KEY_NOT_EXISTが返却されます。