目次
Redis数据库的学习与实践—redis的数据类型
Redis的数据类型:
1:Strings类型及操作:
2:Hashes类型及操作:
3:List类型及操作:
ホームページ データベース mysql チュートリアル 【Redis2】Redis数据库的学习与实践—redis的数据类型

【Redis2】Redis数据库的学习与实践—redis的数据类型

Jun 07, 2016 pm 04:02 PM
redis 勉強 練習する データベース

127.0.0.1:6379 set name inter OK 127.0.0.1:6379 get name inter 127.0.0.1:6379 set name millan 127.0.0.1:6379 get name millan #第一种情况,setnx判断name存在值,所以后面的设值返回(integer)0,设值不成功 127.0.0.1:6379 set name inter OK 127.0.

  1. 127.0.0.1:6379 > set name inter
  2. OK
  1. 127.0.0.1:6379> get name
  2. “inter”
  1. 127.0.0.1:6379> set name millan
  2. 127.0.0.1:6379> get name
  3. “millan”
  1. #第一种情况,setnx判断name存在值,所以后面的设值返回(integer)0,设值不成功
  2. 127.0.0.1:6379> set name inter
  3. OK
  4. 127.0.0.1:6379> setnx name millan
  5. (integer) 0
  6. #对一个没有设过值的变量进行设值,返回(integer)1,通过get方法验证,设值成功
  7. 127.0.0.1:6379> setnx new_name inter
  8. (integer) 1
  9. 127.0.0.1:6379> get new_name
  10. "inter"
  1. #设置wind的value是hot,并且设置时间为10秒,10秒之内有效,10秒过后,此键值对失效
  2. 127.0.0.1:6379> setex wind 10 hot
  3. OK
  4. 127.0.0.1:6379> get wind
  5. "hot"
  6. 127.0.0.1:6379> get wind
  7. (nil)
  1. 127.0.0.1:6379> set name djy@163.com
  2. OK
  3. 127.0.0.1:6379> setrange name 4 gmail.com
  4. (integer) 13
  5. 127.0.0.1:6379> get name
  6. "djy@gmail.com"
  1. 127.0.0.1:6379> mset key1 djy1 key2 djy2 key3 djy3
  2. OK
  3. 127.0.0.1:6379> get key2
  4. "djy2"
  5. 127.0.0.1:6379> get key3
  6. "djy3"
  7. 127.0.0.1:6379> get key1
  8. "djy1"
  1. 127.0.0.1:6379> msetnx key1 djyisasmartguy key5 yes
  2. (integer) 0
  3. 127.0.0.1:6379> get key5
  4. (nil)
  5. 127.0.0.1:6379> get key1
  6. "djy1"
  1. 127.0.0.1:6379> getset key1 djyisasmartguy
  2. "djy1"
  3. 127.0.0.1:6379> get key1
  4. "djyisasmartguy"
  1. 127.0.0.1:6379> getrange key1 8 10
  2. "art"
  3. 127.0.0.1:6379>
  1. 127.0.0.1:6379> mget key1 key2
  2. 1) "djyisasmartguy"
  3. 2) "djy2"
  1. 127.0.0.1:6379> set key5 10
  2. OK
  3. 127.0.0.1:6379> incr key5
  4. (integer) 11
  1. #incrby key5 10是指增溢10次,如果是-10就是减10次
  2. 127.0.0.1:6379> incrby key5 10
  3. (integer) 21
  4. 127.0.0.1:6379> get key5
  5. "21"
  1. 127.0.0.1:6379> decr key5
  2. (integer) 20
  3. 127.0.0.1:6379> decrby key5 6
  4. (integer) 14
  1. 127.0.0.1:6379> get key1
  2. "djyisasmartguy"
  3. 127.0.0.1:6379> append key1 true
  4. (integer) 18
  5. 127.0.0.1:6379> get key1
  6. "djyisasmartguytrue"
  1. 127.0.0.1:6379> strlen key1
  2. (integer) 18

Redis数据库的学习与实践—redis的数据类型

Redis的数据类型:

1:Strings类型及操作:

String类型是最简单的类型,一个Key对应一个Value,String类型是二进制安全的。Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。
(1)Set方法,设置key对应的值为String类型的value。
例如:设置一个name=inter的键值对:
取值:
覆盖值:
后面设置的值,会将之前设置的值给覆盖掉。
如果后面在设置值的时候不想覆盖之前的值,可以使用:setnx
(2)Setnx在操作的时候,会首先判断这个name里面是否存在值,只有当name里面不包含值的情况下,才会设置成功。(nx代表not exist的意思)
例如:
(3)setex
设置key对应的值为string类型的value,并指定此键值对对应的有效期。
在其他的设置方法中,不设置有效期,则代表其永久有效。
例如:
(4)setrange
设置指定key的value值的子字符串
(5)mset
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。
(6)msetnx
一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key。
只要有一个键没有设置成功,那么其他一起设置的键都不会设置成功。
(7)get
获取key对应的string值,如果key不存在返回nil。
getset
设置key的新值,并返回key的旧值。
(8)getrange
获取key的value值的子字符串。
(9)mget
一次获取多个key的值,如果对应key不存在则对应返回nil。
(10)incr
自增溢,对key的值做加加操作,并返回新的值。
(11)incrby
同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0。
(12)decr
对key的值做减减操作。
(13)decrby
同decr类似,减指定值。
(14)append
给指定key的字符串追加value,返回新字符串值的长度。
(15)strlen
取指定key的value值的长度。

2:Hashes类型及操作:

Redis hash是一个string类型的field和value的映射表。它的添加,删除操作都是0(1)(平均)。Hash特别适合用于存储对象。相较于将对象的每个字段存成单个string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。

hset

设置hash field为指定值,如果key不存在,则先创建。

127.0.0.1:6379> hset myhash field1 hello

(integer) 1

127.0.0.1:6379> hget myhash field1

"hello"

hsetnx

设置hash field为指定值,如果key不存在,则先创建。如果存在返回0。

127.0.0.1:6379> hsetnx myhash field1 helloyou

(integer) 0

hmset

同时设置hash的多个field。

127.0.0.1:6379> hmset myhash field2 helloyou field3 hellome

OK

127.0.0.1:6379> hmget myhash field2 field3

1) "helloyou"

2) "hellome"

hincrby

指定的hashfield加上给定值。

127.0.0.1:6379> hset myhash field4 30

(integer) 1

127.0.0.1:6379> hincrby myhash field4 10

(integer) 40

127.0.0.1:6379> hget myhash field4

"40"

127.0.0.1:6379>

hexists

测试指定field是否存在。

127.0.0.1:6379> hexists myhash field1

(integer) 1

hlen

返回指定hash的field数量。

127.0.0.1:6379> hlen myhash

(integer) 4

hdel

删除指定hash的field。

127.0.0.1:6379> hdel myhash field4

(integer) 1

127.0.0.1:6379>

hkeys

返回hash的所有field。

127.0.0.1:6379> hkeys myhash

1) "field1"

2) "field2"

3) "field3"

hvals

返回hash的所有value。

127.0.0.1:6379> hvals myhash

1) "hello"

2) "helloyou"

3) "hellome"

(10)hgetall

获取某个hash中全部的field和value。

127.0.0.1:6379> hgetall myhash

1) "field1"

2) "hello"

3) "field2"

4) "helloyou"

5) "field3"

6) "hellome"

3:List类型及操作:

List是一个链表结构,主要功能是push,pop,获取一个范围的所有值等等,操作中Key理解为链表的名字。

Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过puth,pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。

对Redis的数据类型的介绍就到这里,还有两种数据类型,Set类型和Zset类型就不详细介绍了。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル PHP で MySQLi を使用してデータベース接続を確立するための詳細なチュートリアル Jun 04, 2024 pm 01:42 PM

MySQLi を使用して PHP でデータベース接続を確立する方法: MySQLi 拡張機能を含める (require_once) 接続関数を作成する (functionconnect_to_db) 接続関数を呼び出す ($conn=connect_to_db()) クエリを実行する ($result=$conn->query()) 閉じる接続 ( $conn->close())

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング) トップ10グローバルデジタル仮想通貨取引プラットフォームランキング(2025権限ランキング) Mar 06, 2025 pm 04:36 PM

2025年、グローバルデジタル仮想通貨取引プラットフォームは、トランザクションのボリューム、セキュリティ、ユーザーエクスペリエンスなどの指標に基づいて、2025年に世界のトップ10のデジタル通貨取引プラットフォームを激しく競争しています。 OKXは、強力な技術的強さとグローバルな運用戦略で最初にランクされており、Binanceは高流動性と低料金に密接に続きます。 Gate.io、Coinbase、Krakenなどのプラットフォームは、それぞれの利点がある最前線にいます。このリストには、Huobi、Kucoin、Bitfinex、Crypto.com、Geminiなどの取引プラットフォームがそれぞれ独自の特徴がありますが、投資は注意する必要があります。プラットフォームを選択するには、セキュリティ、流動性、料金、ユーザーエクスペリエンス、通貨選択、規制コンプライアンスなどの要因を考慮し、合理的に投資する必要があります

Go WebSocket はどのようにデータベースと統合しますか? Go WebSocket はどのようにデータベースと統合しますか? Jun 05, 2024 pm 03:18 PM

GoWebSocket をデータベースと統合する方法: データベース接続をセットアップする: データベースに接続するには、database/sql パッケージを使用します。 WebSocket メッセージをデータベースに保存する: INSERT ステートメントを使用して、メッセージをデータベースに挿入します。データベースから WebSocket メッセージを取得する: データベースからメッセージを取得するには、SELECT ステートメントを使用します。

PHP でデータベース接続エラーを処理する方法 PHP でデータベース接続エラーを処理する方法 Jun 05, 2024 pm 02:16 PM

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

Golangでデータベースコールバック関数を使用するにはどうすればよいですか? Golangでデータベースコールバック関数を使用するにはどうすればよいですか? Jun 03, 2024 pm 02:20 PM

Golang でデータベース コールバック関数を使用すると、次のことを実現できます。 指定されたデータベース操作が完了した後にカスタム コードを実行します。追加のコードを記述せずに、個別の関数を通じてカスタム動作を追加します。コールバック関数は、挿入、更新、削除、クエリ操作に使用できます。コールバック関数を使用するには、sql.Exec、sql.QueryRow、または sql.Query 関数を使用する必要があります。

2025年の通貨サークルのトップ10の交換 2025年の通貨サークルのトップ10の交換 Feb 27, 2025 pm 06:33 PM

トップ10の仮想通貨取引プラットフォームのランキング(2025年の最新): Binance:グローバルリーダー、高い流動性、規制が注目を集めています。 OKX:大規模なユーザーベース、複数の通貨をサポートし、レバレッジされた取引を提供します。 gate.io:さまざまなフィアット通貨支払い方法を備えた上級交換は、さまざまな取引ペアと投資商品を提供します。 Bitget:デリバティブ交換、高流動性、低料金。 Huobi:さまざまな通貨と取引ペアをサポートする古い交換。 コインベース:厳密に規制されている有名なアメリカの交換。 フェメックスなど。

トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト トップ10のデジタル通貨取引プラットフォームトップ10のデジタル通貨取引プラットフォームの最新リスト Mar 17, 2025 pm 05:57 PM

トップ10のデジタル通貨取引プラットフォーム:1。OKX、2。BINANCE、3。GATE.IO、4。HuobiGlobal、5。Kraken、6。Coinbase、7。Kucoin、8。Bitfinex、9。Crypto.com、10。Gemini、これらの交換は、ユーザーがユーザーを選択できます。

See all articles