Redis 使用記錄(三)

2021-09-12 23:52:11 字數 2047 閱讀 9061

hash 是乙個 string 型別的 field 和value 的對映表。每個 hash 可以儲存 232 - 1 鍵值對 (40多億)。

例如乙個使用者的姓名、生日等資料,如果使用 kye-value 儲存,就要轉換成字串形式(json 等),儲存和修改都會很麻煩,但是 hash 可以很方便的實現。

由於hash結構會在單個hash元素在不足一定數量時進行壓縮儲存,所以可以大量節約記憶體。
可以參考 redis 利用hash儲存節約記憶體 這篇文章。

<?php

include 'redis.php';// 前文中連線 redis 的方法

$redis = getredis();

$userid = 1;

$username = 'kobe';

$usernumber = 24;

$userage = 39;

$rediskey = 'user_info_' . $userid;

$redis->hset($rediskey, 'name', $username);// 設定key中的field值為value

echo $redis->hget($rediskey, 'name') . '

';// 獲取key中field的值 kobe

$redis->hsetnx($rediskey, 'name', 'gasol');// field不存在時,才能設定

echo $redis->hget($rediskey, 'name') . '

';// 獲取key中field的值 kobe

$flag = $redis->hexists($rediskey, 'name');// key中field是否存在

print_r($flag);// 1

echo '

';$redis->hset($rediskey, 'number', $usernumber);

$redis->hdel($rediskey, 'number');// 刪除key中field

echo $redis->hget($rediskey, 'number');// 無資料

$redis->hmset($rediskey, array('age' => $userage, 'team' => $userteam));// 批量儲存多個field和value

print_r($redis->hmget($rediskey, array('age', 'team')));// 批量獲取多個field的值 array ( [age] => 39 [team] => 湖人隊 )

echo '

';echo $redis->hlen($rediskey) . '

';// 獲取key中有多少field 3

$redis->hset($rediskey, 'score', 2);// 設定value為數值

echo $redis->hget($rediskey, 'score') . '

';// 2

$redis->hincrby($rediskey, 'score', 3);// 為數值增量

echo $redis->hget($rediskey, 'score') . '

';// 5

print_r($redis->hgetall($rediskey));// 獲取key中的所有field和value array ( [name] => kobe [age] => 39 [team] => 湖人隊 [score] => 5 )

echo '

';print_r($redis->hkeys($rediskey));// 獲取key中的所有field array ( [0] => name [1] => age [2] => team [3] => score )

echo '

';print_r($redis->hvals($rediskey));// 獲取key中的所有value array ( [0] => kobe [1] => 39 [2] => 湖人隊 [3] => 5 )

echo '

';

redis使用記錄

1.redis註冊服務 redis server service install redisservice.windows.conf 2.redis刪除服務 redis server service uninstall 建立多個redis例項 step1 複製乙份redis windows conf...

Redis 使用記錄

準備工作 api 安裝完成,預設的是控制台服務,刪除控制台服務cmd命令 sc delete redis 設定密碼 配置檔案redis.windows service.conf中設定密碼 requirepass longtugame.123 遠端連線redis redis cli.exe h 172...

Redis 使用記錄(二)

string 型別是 key value 格式,可以說是最簡單 最常用的型別。每個 key 的最大能儲存512m。string 可以儲存 字串 數字 json後的資料等。include redis.php 前文中連線 redis 的方法 redis getredis redis set key te...