在使用 tornado-redis 库 开发时, set 操作总是返回 True, 除非连接异常, 现在就有一个疑问, 什么时候会返回 False ( Python 代码中). 首先来几个测试实验: 1. 存储其他类型, eg: lpush test_key 1 此时对 test_key 使用 set 操作, set test_key 1 2. 根据实
在使用 tornado-redis 库 开发时, set 操作总是返回 True,
除非连接异常, 现在就有一个疑问, 什么时候会返回 False
( Python 代码中).
首先来几个测试实验:
1. 存储其他类型, eg: lpush test_key 1
此时对 test_key 使用 set 操作, set test_key 1
2. 根据实验1步骤逆着来, 看看 push 操作是否成功
实验结果:
1. set操作可以覆盖 list操作
2. list操作无法覆盖set操作
仍然没有找到直接的依据, 那么就看看 stackoverflow 的答案.
当中提到文档里有说明:
” Status code reply: always OK since SET can’t fail. “
接着找 Redis SET 官方文档 阅读.
文档中并没有出现上面提到的话, 而说明的是:
“
Simple string reply: OK if SET was executed correctly.
Null reply: a Null Bulk Reply is returned if the SET
operation was not performed becase the user specified
the NX or XX option but the condition was not met.
“
即SET 操作没有执行时的情况下, 返回Null 回复 而在使用
NX 或者 XX 参数操作时:
set test_key 1 nx # 当 test_key 已存在时设置失败
set test_key 1 xx # 当 test_key 之前不存在时设置失败
如果仅仅是 set test_key 1 呢, 这个情况有没有失败的时候?
在上面提到的 stackoverflow 答案中, 提到了 redis.c 源码
maxmemory 选项如果设置, 则会限制 redis 存储的容量. 比如设置
一个极端条件 maxmemory 1 bytes, 假如之前有 redis 存储数据,
那么此时再使用 set 设置新值时, 效果如下图:
Redis set的文档:
Redis SET
Redis SETNX
Redis SETEX
最后提醒自己一下, 学会看文档, 不要猜测 -_-b
原创文章,转载请注明: 转载自kaka_ace's blog
本文链接地址: Redis set 何时会 Failed ( set 操作失败)

MySQLユーザーを追加する方法を習得することは、データベース管理者と開発者にとって重要です。これは、データベースのセキュリティとアクセス制御を保証するためです。 1)CreateUserコマンドを使用して新しいユーザーを作成し、2)付与コマンドを介してアクセス許可を割り当て、3)FlushPrivilegesを使用してアクセス許可を有効にすることを確認します。

choosecharforfixed-lengthdata、varcharforvariable-lengthdata、andtextforlargetextfields.1)chariseffienceforconsistent-lengthdatalikecodes.2)varcharsuitsvariaible-lengthdatalikenames、balancingflexibilityandperformance.3)Textisidealforforforforforforforforforforforidex

MySQLの文字列データ型とインデックスを処理するためのベストプラクティスには、次のものが含まれます。1)固定長のchar、可変長さのvarchar、大規模なテキストのテキストなどの適切な文字列タイプを選択します。 2)インデックス作成に慎重になり、インデックスを避け、一般的なクエリのインデックスを作成します。 3)プレフィックスインデックスとフルテキストインデックスを使用して、長い文字列検索を最適化します。 4)インデックスを定期的に監視および最適化して、インデックスを小さく効率的に保つ。これらの方法により、読み取りと書き込みのパフォーマンスをバランスさせ、データベースの効率を改善できます。

toaddauserremotelytomysql、フォローステープ:1)connecttomysqlasroot、2)createanewuserwithremoteaccess、3)grantniverayprivileges、and4)flushprivileges.

tostorestringseffiedlyinmysql、choosetherightdatatypebasedonyourneadss:1)usecharforfixed-lengthstringslikecountrycodes.2)usevarforvariable-lengthstringslikenames.3)usetextfor forlong-formtextcontent.4)useblobforborikedalikeimages

MySQLのBLOBおよびテキストデータ型を選択する場合、BLOBはバイナリデータの保存に適しており、テキストはテキストデータの保存に適しています。 1)BLOBは、写真やオーディオなどのバイナリデータに適しています。2)テキストは、記事やコメントなどのテキストデータに適しています。選択するときは、データプロパティとパフォーマンスの最適化を考慮する必要があります。

いいえ、Youは、usotherootuserinmysqlforyourproduct.instead、createpificusers withlimitedprivilegestoenhancesecurityandperformance:1)createanewuserwithastrongpassword、2)grantonlynlyneversearpermissionStothisuser、3)正規環境筋肉筋周辺の環境

mysqlstringdatatypesshouldbechosenbadedatacharacteristicsandusecases:1)usecharforfixed-lengthstringslikecountrycodes.2)usevarforvariable-lengthstringslikenames.3)usebinaryorvarniaryforbinarydatalikecryptograpograpogrationckeys.4)使用


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

WebStorm Mac版
便利なJavaScript開発ツール

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

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

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

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