Defective Code Logo

Total Downloads Latest Stable Version Latest Stable Version

English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文

ಪರಿಚಯ

ರಿಕಾಲ್ ಲಾರವೆಲ್‌ಗಾಗಿ ಅತ್ಯುತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಯ Redis ಕ್ಲೈಂಟ್-ಸದಸ್ಯ ಕ್ಯಾಶಿಂಗ್ ಪ್ಯಾಕ್‌ಜ್ ಆಗಿದೆ. ಇದು Redis 6 ನ ಕ್ಲೈಂಟ್-ಸದಸ್ಯ ಕ್ಯಾಶಿಂಗ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸ್ವಯಂ-ಶ್ರೇಣೀಬದ್ಧಗೊಳಿಸುವ ಮೂಲಕ ಬಳಸುತ್ತದೆ ಮತ್ತು Redis ಕುಂಡಲ ಸೇರುವಿಕೆಯನ್ನು ಮತ್ತು ವಿಳಂಬವನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಕಡಿಮೆಗೊಳಿಸುತ್ತದೆ. ಲಾರವೆಲ್ ಒಕ್ಟೇನ್ ಪರಿಸರಗಳಿಗೆ ವಿಶೇಷವಾಗಿ ನಿರ್ಮಿತವಾಗಿದೆ, ಇದು APCu ಅಥವಾ ಸ್ವೋಲ್ ಟೇಬಲ್ ಅನ್ನು ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಹಂತವಾಗಿ ಬಳಸುತ್ತದೆ, ಇದು ಅವಲೋಕನೆಯ ಸಂದೇಶಗಳ ಮೂಲಕ Redis ಜೊತೆ ಸಮ್ಮಿಲನದಲ್ಲಿ ಉಳಿತಾಯ ಮಾಡುತ್ತದೆ.

ನೀವು Redis ನಿಂದ ಒಂದು ಮೌಲ್ಯವನ್ನು ಪಡೆಯುವಾಗ, Recall ಅದನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸು. ಆ ಮೌಲ್ಯವು Redis ನಲ್ಲಿ ಬದಲಾಗಿರುವಾಗ (ಯಾವುದು ಕ್ಲೈಂಟ್ ಕಾಣಿಸಿಕೊಂಡರೂ), Redis ಸ್ವಯಂಚಾಲಿತವಾಗಿ Recall ಗೆ ಸ್ಥಳೀಯ ಪ್ರತಿಯನ್ನು ಅಮಾನ್ಯಗೊಳಿಸುವುದಾಗಿ ಸೂಚಿಸುತ್ತದೆ. ಇದು ನಿಮಗೆ ಮೆಮೊರಿ ಕ್ಯಾಶಿಂಗ್‌ನ ವೇಗ ಮತ್ತು Redis ನ ಸ್ಥಿರತೆ ಖಾತ್ರಿ ನೀಡುತ್ತದೆ.

ಮುಖ್ಯ ವೈಶಿಷ್ಟ್ಯಗಳು

ಉದಾಹರಣೆಯು

// ನಿಮ್ಮ ಕ್ಯಾಶ್ ಡ್ರೈವರ್ ವ್ಯಕ್ತಪಡಿಸಲು ರಿಕಾಲ್ ಅನ್ನು ಸಂರಚಿಸಲು
// config/cache.php
'stores' => [
'recall' => [
'driver' => 'recall',
],
],
 
// ಅದನ್ನು ಯಾವುದೇ ಲಾರವೆಲ್ ಕ್ಯಾಶ್‌ ಹೋಲಿಸಿ ಬಳಸಿರಿ
use Illuminate\Support\Facades\Cache;
 
// ಮೊದಲ ಕರೆ: Redis ನಿಂದ ಪಡೆಯುತ್ತದೆ, ಸ್ಥಳೀಯವಾಗಿ armazened
$user = Cache::store('recall')->get('user:1');
 
// ಮುಂದುವರೆದ ಕರೆಗಳು: ಸ್ಥಳೀಯ APCu/Swoole ಟೆಬಲ್ (ಮೈಕ್ರೋಸೆಕೆಂಡುಗಳು)
$user = Cache::store('recall')->get('user:1');
 
// ಗೆ user:1 ಅನ್ನು ಎಲ್ಲಿಂದಲಾದರೂ ನವೀಕರಿಸಿದಾಗ, Redis ರಿಕಾಲ್ ಗೆ ಸ್ಥಳೀಯ ಪ್ರತಿಯನ್ನು ಅಮಾನ್ಯಗೊಳಿಸಲು ಸೂಚಿಸುತ್ತದೆ
Cache::store('recall')->put('user:1', $newUserData, 3600);
// ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಎಲ್ಲಾ ಕಾರ್ಮಿಕರಲ್ಲಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಮಾನ್ಯಗೊಳಿಸಲಾಗಿದೆ

ಸ್ಥಾಪನೆ

ಕಂಪೋಜರ್ ಮೂಲಕ ಪ್ಯಾಕ್‌ಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು:

composer require defectivecode/laravel-recall

ಅಗತ್ಯವಿದೆ

ಬಳಕೆ

ಮೂಲ ಸೆಟಪ್

  1. ನಿಮ್ಮ config/cache.php ಗೆ Recall ಕ್ಯಾಶ್ ಶ್ಲೋಕವನ್ನು ಸೇರಿಸಿ:
'stores' => [
// ... ಇತರ ಶ್ಲೋಕೆಗಳು
 
'recall' => [
'driver' => 'recall',
],
],
  1. ನಿಮ್ಮ ಅನ್ವಯದಲ್ಲಿ ಕ್ಯಾಶ್ ಶ್ಲೋಕವನ್ನು ಬಳಸಿರಿ:
use Illuminate\Support\Facades\Cache;
 
// ಒಂದು ಮೌಲ್ಯವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿ (Redis ಗೆ ಬರೆಯುತ್ತದೆ)
Cache::store('recall')->put('key', 'value', 3600);
 
// ಒಂದು ಮೌಲ್ಯವನ್ನು ಪುನರ್ಘಟನೆ (ಮೊದಲ ಕರೆ Redis ಗೆ ಹೊಡೆದು, ಮುಂದಿನ ಕರೆಗಳು ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಆಯ್ದ ವಾದ್ಯವನ್ನು ಬಳಸುತ್ತವೆ)
$value = Cache::store('recall')->get('key');
 
// ಒಂದು ಮೌಲ್ಯವನ್ನು ಅಳಿಸಿ
Cache::store('recall')->forget('key');

ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

  1. ಮೊದಲ ಓದು: ಸ್ಥಳೀಯ APCu/Swoole ಟೇಬಲ್ ಕ್ಯಾಶ್‌ನಿಂದ Redis ನಿಂದ ಮೌಲ್ಯವನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ
  2. ಮುಂದಿನ ಓದುಗಳು: ಸ್ಥಳೀಯ ಮೆಮೊರಿ ಮತ್ತು ಹೆಚ್ಚು ಉಪಯೋಗಿಸುತ್ತವೆ (ಉಲ್ಲೇಖದಲ್ಲಿ)
  3. ಎಲ್ಲಿ ಬರೆಯಲು: ಯಾವುದೇ ಕ್ಲೈಂಟ್ Redis ನಲ್ಲಿ ಕೀ ಅನ್ನು ಪರಿಷ್ಕಾರ ಮಾಡಿದಾಗ, Redis ಅಮಾನ್ಯಗೊಳಿಸುವ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ
  4. ಸ್ವಯಂ-ಅಮಾನ್ಯಗೊಳಿಸುವಿಕೆ: Recall ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಸ್ಥಳೀಯ ಕ್ಯಾಶ್‌ನಿಂದ ಕೀ ಅನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ
  5. ಮುಂದಿನ ಓದು: ಹೊಸ ಮೌಲ್ಯವು Redis ದಿಂದ ಪಡೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಪುನಃ ಸ್ಥಳೀಯವಾಗಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗುತ್ತದೆ

ಈ ಮಾದರಿ ವಿಶೇಷವಾಗಿ ಲಾರವೆಲ್ ಒಕ್ಟೇನ್ ಪರಿಸರದಲ್ಲಿ ಶಕ್ತಿಯುತವಾಗಿದ್ದು, ಕಾರ್ಮಿಕರು ವಿನಂತಿಗಳ ನಡುವೆ ಶ್ರೇಣೀಬದ್ಧಗೊಳಿಸುತ್ತಾರೆ, ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ತುಂಬವುದರಿಂದ ಮತ್ತು ಮೆಮೊರಿ‌ನಿಂದ ಅನೇಕ ವಿನಂತಿಗಳನ್ನು ಸಲ್ಲಿಸುತ್ತವೆ.

ಒಕ್ಟೇನ್ ಇಂಟಿಗ್ರೇಶನ್

Recall ಲಾರವೆಲ್ ಒಕ್ಟೇನ್‌ನೊಂದಿಗೆ ಸ್ವಯಂ-ರೂಪದಲ್ಲಿ ಪರಿಗಣಿಸುತ್ತದೆ:

ಅದೇನೂ ಹೆಚ್ಚುವರಿ ಕಾನ್ಫಿಗರೇಶನ್ ಅಗತ್ಯವಿಲ್ಲ. ಒಕ್ಟೇನ್ ಸ್ಥಾಪಿತವಾಗುತ್ತದೆ ಎಂಬಾಗ ಇದು ಸ್ವಯಂ-ರೂಪದಲ್ಲಿ ಇರುತ್ತದೆ.

ಕಾನ್ಫಿಗರೇಶನ್

ಕಾನ್ಫಿಗರೇಷನ್ ಫೈಲ್ ಅನ್ನು ಪ್ರಕಟಿಸಿ:

php artisan vendor:publish --tag=recall-config

ಈದು config/recall.phpನ್ನು ಕೆಳಗಿನ ಆಯ್ಕೆಗಳೊಂದಿಗೆ ನಿರ್ಮಿಸುತ್ತದೆ:

ಸಕ್ರಿಯಗೊಳಿಸುವುದು/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು

'enabled' => env('RECALL_ENABLED', true),

ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದಾಗ, Recall ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಹಂತವನ್ನು ಬಳಸದೆ ನೇರವಾಗಿ Redis ಗೆ ಹೋಗುತ್ತದೆ. ಡೀಬಗ್ ಮಾಡುವ ಅಥವಾ ಹಂತ ಹಂತವಾಗಿ ಮಂಡಿಸಲು ಉಪಯುಕ್ತವಾಗಿದೆ.

Redis ಶ್ಲೋಕ

'redis_store' => env('RECALL_REDIS_STORE', 'redis'),

Redis ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ ಬಳಸುವ ಲಾರವೆಲ್ ಕ್ಯಾಶ್ ಶ್ಲೋಕ. ಇದು ನಿಮ್ಮ config/cache.php ಕೃತಕದಲ್ಲಿ ಸಿದ್ಧಗೊಳ್ಳುವ Redis ಶ್ಲೋಕವನ್ನು ಉಲ್ಲೇಖಿಸಬೇಕು.

ಕ್ಯಾಶ್ ಪೂರ್ವಭಾವಿಗಳು

'cache_prefixes' => [],

ಈ ಪೂರ್ವಭಾವಿಗಳನ್ನು ಮಾತ್ರ ಸ್ಥಳೀಯವಾಗಿ ಕ್ಯಾಶ್ ಮಾಡಲು ಕೀಗಳನ್ನು ಮಾತ್ರ. ಎಲ್ಲಾ ಕೀಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಲು ಖಾಲಿ ಬಿಟ್ಟು ಬಿಡಿ.

// ಸ್ಥಳೀಯವಾಗಿ ಬಳಕೆದಾರ ಮತ್ತು ಶ್ರೇಣೀಬದ್ಧ ಕೀಗಳನ್ನು ಮಾತ್ರ ಕ್ಯಾಶ್ ಮಾಡಿ
'cache_prefixes' => ['users:', 'settings:', 'config:'],

ಹಾಗೆ ಬದಲಾಗುವель ನಿಯೋಜನೆಗೆ ಹೆಚ್ಚು ಪ್ರಮಾಣವನ್ನು ಕಳವು ಮಾಡುವುದು, ಹೆಚ್ಚಿನ ಪ್ರಮಾಣವನ್ನು ನಕಲು ಮಾಡಲು.

ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಕಾನ್ಫಿಗರೇಶನ್

'local_cache' => [
// ಡ್ರೈವರ್: "apcu" ಅಥವಾ "swoole"
'driver' => env('RECALL_LOCAL_DRIVER', 'apcu'),
 
// ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಕೀಗಳಿಗೆ ಪೂರ್ವಭಾವಿ
'key_prefix' => env('RECALL_LOCAL_PREFIX', 'recall:'),
 
// ಡಿಎಫ್‌ಟಿಎಲ್ TTL ಸೆಕೆಂಡುಗಳಲ್ಲಿ (ಅಮಾನ್ಯಗೊಳಿಸುವಿಕೆ ತಪ್ಪಿದರೆ ಸುರಕ್ಷಿತ ನೆಟ್)
'default_ttl' => (int) env('RECALL_LOCAL_TTL', 3600),
 
// Swoole ಟೇಬಲ್ ಅಳತೆ (2 ಶಕ್ತಿ, ಸ್ವೋಲ್ ಡ್ರೈವರಿಗಾಗಿ ಮಾತ್ರ)
'table_size' => (int) env('RECALL_SWOOLE_TABLE_SIZE', 65536),
 
// Swoole ಟೇಬಲ್‌ನಲ್ಲಿ ಮೌಲ್ಯಗಳಿಗೆ ಗರಿಷ್ಠ ಬೈನಿಂಟ್‌ಗಳು (ಸ್ವೋಲ್ ಡ್ರೈವರಿಗಾಗಿ ಮಾತ್ರ)
'value_size' => (int) env('RECALL_SWOOLE_VALUE_SIZE', 8192),
],

APCu ಡ್ರೈವರ (ಡೀಫಾಲ್ಟ್)

APCu ಡ್ರೈവർ ಎಲ್ಲಾ PHP ಪರಿಸರಗಳು ಮತ್ತು ಒಕ್ತೇನ್ ಸೇವಕರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ (Swoole, RoadRunner, FrankenPHP). ಇದು ಎಲ್ಲಾ PHP ತೀರ್ಮಾನಗಳಿಗೆ ಲಭ್ಯವಿರುವ ಹಂಚಿದ ಮೆಮೊರಿಯಲ್ಲಿ ಕ್ಯಾಶ್ ಮೌಲ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.

ಅಗತ್ಯಗಳು:

Swoole ಟೇಬಲ್ ಡ್ರೈವರ್

Swoole ಟೇಬಲ್ ಡ್ರೈವರ್ Swoole ನ ಹಂಚಿದ ಮೆಮೊರಿ ಟೇಬಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಒಂದೇ ಕಾರ್ಮಿಕದಲ್ಲಿ ಕೋರ್‌ಟೈನ್‌ಗಳಾದ ಪರಸ್ಥಿತಿಯಲ್ಲಿನ ಸ್ಥಾಯಿಯ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. Swoole/OpenSwoole ಪರಿಸರಗಳಿಗೆ ಉತ್ತಮವಾಗಿದೆ.

ಕಾನ್ಫಿಗರೇಶನ್ ಸಲಹೆಗಳು:

ಒಕ್ಟೇನ್ ಶ್ರೇಣಿಕಾರರು

'listeners' => [
// ಕಾರ್ಮಿಕ ಪ್ರಾರಂಭದಲ್ಲಿ ಅಳತೆಯ ಸಂಪರ್ಕವನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ (ಮೊದಲ ವಿನಂತಿಯ ದಿನಾಂಕ ಕಳೆದ ವಿಳಂಬವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ)
'warm' => env('RECALL_LISTEN_WARM', true),
 
// ಟಿಕ್ ಘಟನೆಗಳಾದ ಮತ್ತಿಲ್ಲಿ ಅಮಾನ್ಯಗೊಳಿಸುವಿಕೆಗಳನ್ನು ಶ್ರದ್ಧಾರಿಸುತ್ತಬೇಕು (ಹೆಚ್ಚಿನ ಸ್ಪಷ್ಟತೆ, ಕೆಲವೇ ಆದಾಯ)
'tick' => env('RECALL_LISTEN_TICK', false),
],

ಶ್ರೇಣಿಕಾರವನ್ನು ಬದಲಾಯಿಸುವುದು

ಚಾಲನೆಯಾಗಿದ್ದರೆ, Recall ಒಕ್ಟೇನ್ ಕಾರ್ಮಿಕ ಪ್ರಾರಂಭವಾದಾಗ Redis ಅಮಾನ್ಯಗೊಳಿಸುವ ಸ್ಥಾನವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. ಇದು ಮೊದಲ ವಿನಂತಿಯ ಸಮಯದ ಸಂಪರ್ಕವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.

ಟಿಕ್ ಪ್ರಕ್ರಿಯೆ

ಚಾಲನೆಯಾಗಿದ್ದರೆ, Recall ಒಕ್ಟೇನ್ ಟಿಕ್ ಘಟನೆಗಳಲ್ಲಿ ಅಮಾನ್ಯಗೊಳಿಸುವ ಸಂದೇಶಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ ಮೀಸೆ ಮಂದಿ ವಿನಂತಿ ಘಟನೆಗಳಲ್ಲಿ. ಇದು ಸ್ವಲ್ಪ ಹೆಚ್ಚುವರಿ ಆದಾಯದ ದರವನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ.

ಮೇಲ್ಮಟ್ಟದಲ್ಲಿ ಬಳಕೆ

ಕೈಯೆ ಕ್ಯಾಶಿಂಗ್ ಪ್ರಕ್ರಿಯೆ

ನೀವು ನಿರಂತರವಾಗಿ ಆಗಾಗಲ್ಲಾ ಅಮಾನ್ಯಗೊಳಿಸುವಿಕೆಯನ್ನು ಕೈಯೆ ಸಂಪಾದಿಸಲು ಅಗತ್ಯವಿದ್ದಾಗ:

use DefectiveCode\Recall\RecallManager;
 
$manager = app(RecallManager::class);
$manager->processInvalidations();

ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವಿಕೆ

Redis ಗೆ ಪ್ರಭಾವಿತವಾಗದೆ ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಅನ್ನು ಮಾತ್ರ ಸಮಸ್ಯೆ:

use DefectiveCode\Recall\RecallManager;
 
$manager = app(RecallManager::class);
$manager->flushLocalCache();

ಸಂಪರ್ಕ ನಿರ್ವಹಣೆ

use DefectiveCode\Recall\RecallManager;
 
$manager = app(RecallManager::class);
 
// ಅಮಾನ್ಯಗೊಳಿಸುವಿಕೆ ಚಂದಾದಾರರಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ
if ($manager->isConnected()) {
// ...
}
 
// ಕೈಯೆ ಸಂಪರ್ಕ ವಿಛೇದಿಸಲು
$manager->disconnect();

ಸುಧಾರಣೆ

ಕಾರ್ಮಿಕ ವಿನಂತಿಗಳ ಸೀಮಿತ

Laravel Octane ಕಾರ್ಯಕರ್ತರನ್ನು ವಿನಂತಿಗಳ ಸಂಖ್ಯೆಗೆ ಅನುಪಾತದಲ್ಲಿ ಸಸೂಗಳು ಮೂಡಿಸುತ್ತದೆ. ಕಾರ್ಮಿಕನ ತಿರುಗಿದಾಗ, ಅದರ ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಶುದ್ಧವಾಗುತ್ತದೆ. ಈ ಮಿತಿಯನ್ನು ಹೆಚ್ಚಿಸುವುದು Recall ನ ಸ್ಥಳೀಯ ಕ್ಯಾಶ್ ಲಂಬಗೊಳಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಕ್ಯಾಶ್ ಬೆಳೆಸುವುದರಲ್ಲಿ ಉತ್ತಮ ವರ್ತನೆ.

ನಿಮ್ಮ config/octane.php ನಲ್ಲಿ:

// ಮುಂದೆ 500 ವಿನಂತಿ ಸಂಖ್ಯೆಗೆ ಆಸ್ಥಾ ತଙ್ಮಾದಿತ್ಯ ಇಲ್ಲ
'max_requests' => 10000,

ಹೆಚ್ಚಾದ ಮಾನಗಳು ಉತ್ತಮ ಕ್ಯಾಶ್ ಬಳಕೆಗೆ, ಆದರೆ ನಿಮ್ಮ ಅನ್ವಯದಲ್ಲಿ ಮೆಮೊರಿ ಆವರಣೆಗಳಿಲ್ಲ ಅನ್ನುವ ಬಗ್ಗೆ ಖಚಿತಪಡಿಸಲು ಅಗತ್ಯವಿದೆ. ಈ ಅಂಶವನ್ನು ಹೊಂದುವಾಗ ನಿಮ್ಮ ಕಾರ್ಯಕರ್ತೆ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು ಮರೆಯಲು.

ಪೂರ್ವಭಾವಿಗಳೊಂದಿಗೆ ಚಯನಾತ್ಮಕ ಕ್ಯಾಶಿಂಗ್

cache_prefixes ಅನ್ನು ಯಾವ ಕೀಗಳನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಕ್ಯಾಶ್ ಮಾಡಬೇಕೆಂದು ಬಿಡರಲು ಬಳಸಬಹುದು. ಇದು ಅತಿದೊನ್ನೆ ತುಂಬಾ:

// config/recall.php
'cache_prefixes' => [
'users:', // ಸ್ಥಳೀಯ ಬಳಕೆದಾರ ಡೇಟಾ ಕ್ಯಾಶ್ ಮಾಡಿ
'settings:', // ಸ್ಥಳೀಯ ಆಪ್ಲಿಕೇಶನ್ ನಿಯಮವನ್ನು ಕ್ಯಾಶ್ ಮಾಡಿ
'products:', // ಉತ್ಪನ್ನ ಪರಗ್ರಹವನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಕ್ಯಾಶ್ ಮಾಡಿ
],

ಈ ಪೂರ್ವಭಾವಿಗಳನ್ನು ಹೊಂದಿರುವ ಕೀಗಳು ಕಾರ್ಯಬದ್ಧವಾಗುವ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ಸ್ಥಳೀಯ ಕ್ಯಾಶಿಂಗ್ ಮೂಲಕವಾದ ಸೇವೆಗಳನ್ನು ನೇರವಾಗಿ Redis ಕಡೆಯಿಂದ ಹೋಗುತ್ತವೆ.

ಮೆಮೊರಿ ವ್ಯವಹಾರ

APCu ಮೆಮೊರಿ

APCu ಎಲ್ಲಾ PHP ಕಾರ್ಯಾಲಯಗಳಾದ ಹಂಚಿದ ಮೆಮೊರಿಯೆ. php.ini ನಲ್ಲಿ ಮೆಮೊರಿ ಮಿತಿಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ:

; ಡೀಫಾಲ್ಟ್ 32MB, ಹೆಚ್ಚಿನ ಕ್ಯಾಶ್ ತೆಗ್ಗುಗಳು ಏಕಕಾಲದಲ್ಲೇ
apc.shm_size = 128M

APCu ಬಳಸಿದ ಎಲ್ಲಾಗಳನ್ನು ನಾವು apcu_cache_info() ಮೂಲಕ ಅಧೀಕ್ಷಿಸುವುದು:

$info = apcu_cache_info();
$memory = $info['mem_size']; // ಉದ್ಯೋಗದಲ್ಲಿಯೆ ವರ್ಚುನಿಯಲ್ಲಿಯೆ ನಿಮಿಷಗಳು

Swoole ಟೇಬಲ್ ಅಳತೆ

Swoole ಟೇಬಲ್ನನ ನಿಯಮಬಂಧನ ಸ್ಥಳೀಯವಾಗಿ ಪ್ರಯೋಜನವನ್ನು ಹೊಂದಲಿದೆ. ನಿರೀಕ್ಷಿತ ಕ್ಯಾಶ್ ಗಾತ್ರವನ್ನು ಸ್ನೇಹದಿಂದ:

'local_cache' => [
// ಗರಿಷ್ಠ ದಾಖಲೆಗಳು 2 ಶಕ್ತಿಯಾಗಿ ಸಾಲಾಗುತ್ತವೆ)
'table_size' => 65536, // 64K ದಾಖಲೆಗಳು
 
// ಶ್ರೇಣಿಕರಣ ಬೆಲೆಗೆ ಗರಿಷ್ಠ ಮೌಲ್ಯ ಶ್ರೇಣಿಯಲ್ಲಿಯೇ
'value_size' => 8192, // 8KB ಪ್ರತಿ ಬೆಲೆಯಲ್ಲಿಯೇ
],

ಮೆಮೊರಿ ಬಳಕೆಯು: table_size × (value_size + overhead). 65536 ದಾಖಲೆಗಳು ಹಾಗೂ 8KB ಬೆಲೆಯದು ಶ್ರೇಣಿಯಲ್ಲಿ ಸುಮಾರು 512MB ಬಳಸಿಸುತ್ತದೆ.

ಸಾಮಾನ್ಯ ಮಾದರಿಗಳು

ಅನ್ವಯ_configuration

// ಕ್ಯಾಶ್ ಫೀಚರ್ ಫ್ಲಾಗ್‌ಗಳು ಮತ್ತು ಘಟನೆಗಳು
$features = Cache::store('recall')->remember('config:features', 3600, function () {
return Feature::all()->pluck('enabled', 'name')->toArray();
});
 
// ನಿಯೋಜನೆ ಬದಲಾಯಿಸಿದಾಗ, ಎಲ್ಲಾ ಕಾರ್ಯಕರ್ತರು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನವೀಕರಣವನ್ನು ಪಡೆಯುತ್ತಾರೆ

ಹೆಚ್ಚು ಬಳಸಿದ ದಾಖಲಾತಿ ಡೇಟಾ

// ಉತ್ಪನ್ನ ಶ್ರೇಣಿಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡಿ
$categories = Cache::store('recall')->remember('categories:all', 3600, function () {
return Category::with('children')->whereNull('parent_id')->get();
});
 
// ಕರೆನ್ಸಿ ವಿನಿಮಯ ಹಿಂತರಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗಿದೆ
$rates = Cache::store('recall')->remember('rates:exchange', 300, function () {
return ExchangeRate::all()->pluck('rate', 'currency')->toArray();
});

ಕ್ಯಾಶ್ ಟ್ಯಾಗು ಪರ್ಯಾಯ

Recall ಕ್ಯಾಶ್ ಟ್ಯಾಗ್ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಆದರೆ ನೀವು ಪೂರ್ವಭಾವಿಗಳನ್ನು ಬಳಸಿದರೆ ತಾರ್ಕಿಕ ಘಟಕವನ್ನು ತಲುಪಬಹುದು:

// ಟ್ಯಾಗೊಳಿಸುವ ಬದಲಿಗೆ, ಒತ್ತಿಕೊಂಡ ಪೂರ್ವಘಟಕಗಳನ್ನು ಬಳಸಿ
Cache::store('recall')->put("blog:posts:{$id}", $post, 3600);
Cache::store('recall')->put("blog:comments:{$postId}", $comments, 3600);
 
// ಒಟ್ಟಾಗಿ ಎಲ್ಲಾ ಬ್ಲಾಗ್‌ಗೆ ಸಂಬಂಧಪಟ್ಟ ಕ್ಯಾಶ್ ಅನ್ನು ಕ್ಲಿಯರ್ ಮಾಡಲು ಪ್ರಾವೃತ್ತಿ (ಕೆಲವು ಕೈಯು ಸ್ಥಳೀಯವಾಗಿ ಮಾಡಿದೇರಿಸಲು)
// ಅಥವಾ ಡೇಟಾ ಬದಲಾಗುವಾಗ ಸ್ವಯಂಚಾಲಿತ ಅಮಾನ್ಯಗೊಳಿಸಲು ಅವಲಂಬಿಸಬಹುದು

ಮಿತಿಗಳು

Redis ಕ್ಲಸ್ಟರ್ ಮೋಡ್

Recall Redis ಕ್ಲಸ್ಟರ್ ಮೋಡ್ ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. CLIENT TRACKING ಆಜ್ಞೆಯ REDIRECT ಆಯ್ಕೆ ಕಾರ್ಯಕ್ರಮವನ್ನು ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕ ಮತ್ತು ಅಮಾನ್ಯಗೊಳಿಸುವ ಸಂಬಂಧವೂ Redis ನೋಡ್ ಹೊಂದಿರಬೇಕಾದರೆ ಬಳಸುವುದಲ್ಲದೆ.Redis ಕ್ಲಸ್ಟರ್‌ಗಳಲ್ಲಿ, ಕೀಗಳು ಹ್ಯಾಶ್ ಸ್ಲಾಟ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಹಲವು ನೋಡ್‌ಗಳಲ್ಲಿ ವಿತರಿಸಲಾಗುತ್ತದೆ, ಇದರಿಂದ ವಿಭಿನ್ನ ನೋಡ್‌ಗಳಲ್ಲಿ ಉಳಿಸುವ ಕೀಗಳಿಗೆ ಅನ್ವಯಿಸಬಲ್ಲಷ್ಟಿಲ್ಲ.

ಕ್ಲಸ್ಟರ್‌ಗೊಳ್ಳುವ Redis ಕೃಷಿಸಲು ಪರಿಗಣಿಸಿ:

ಬೆಂಬಲ ಮಾರ್ಗಸೂಚಿಗಳು

ನಮ್ಮ ತೆರೆಯಾಗಿ ಮೂಲಪದಾರ್ಥವನ್ನು ಆಯ್ಕೆ ಮಾಡಿದಕ್ಕೋಸ್ಕರ ಧನ್ಯವಾದಗಳು! ದಯವಿಟ್ಟು ಈ ಬೆಂಬಲ ಮಾರ್ಗಸೂಚಿಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನೂರು ಕೊಡಿ. ಇವು ನಿಮ್ಮ ಯೋಜನೆಯಿಂದ ಹೆಚ್ಚು ಕ್ಕಿಯಾಗಿ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಸಮುದಾಯ ನಡಿಸುವ ಬೆಂಬಲ

ನಮ್ಮ ತೆರೆಯಾಗಿ ಮೂಲಪದಾರ್ಥವು ನಮ್ಮ ಅದ್ಭುತ ಸಮುದಾಯದಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ. ನಿಮ್ಮಿಗೆ ಪ್ರಶ್ನೆಗಳಿದ್ದರೆ ಅಥವಾ ಸಹಾಯದ ಅಗತ್ಯವಿದ್ದರೆ, StackOverflow ಮತ್ತು ಇತರ ಆನ್ಲೈನ್ ಸಂಪತ್ತುಗಳು ನಿಮ್ಮ ಉತ್ತಮ ಆಯ್ಕೆಯಾಗಿವೆ.

ದೋಷಗಳು ಮತ್ತು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಆದ್ಯತೆಯೀಡಿಸುವುದು

ಆವರ್ತಿತವಾಗಿರುವ ತೆರೆಯಾಗಿ ಮೂಲಪದಾರ್ಥವನ್ನು ನಿರ್ವಹಿಸುವ ವಾಸ್ತವವು, ಪ್ರತಿಯೊಬ್ಬ ವರದಿ ಮಾಡಿದ ದೋಷ ಅಥವಾ ವೈಶಿಷ್ಟ್ಯ ಕೇಳುವಿಕೆಯನ್ನೂ ತಕ್ಷಣ ಸಂಖ್ಯಾಪಟ್ಟಿ ಮಾಡುವುದು ಸಾಧ್ಯವಿಲ್ಲ. ನಾವು ಸಮಸ್ಯೆಗಳನ್ನು ಹೀಗೆಯೇ ಆದ್ಯತೆ ನೀಡುತ್ತೇವೆ:

1. ನಮ್ಮ ಪೈಸು ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ದೋಷಗಳು

ನಮ್ಮ ಪೈಸು ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ದೋಷಗಳು ಯಾವಾಗಲೂ ನಮ್ಮ ಉನ್ನತ ಆದ್ಯತೆ ಆಗುವವು. ಕೆಲವು ಸ್ಥಿತಿಗಳಲ್ಲಿ, ನಾವು ಕೇವಲ ನಮ್ಮನ್ನು ಅದೆ ಅಥವಾ ನೇರವಾಗಿ ಹಾನಿಯೊಳಗಾಗುವ ದೋಷಗಳನ್ನು ಮಾತ್ರ ಪರಿಹರಿಸಲಿಕ್ಕೆ ಇತ್ತು.

2. ಸಮುದಾಯ ಪುಲ್ Requestಗಳು

ನೀವು ಒಂದು ದೋಷವನ್ನು ಗುರುತಿಸಿದ್ದರೆ ಮತ್ತು ಒಂದು ಪರಿಹಾರವನ್ನು ಹೊಂದಿದ್ದರೆ, ದಯವಿಟ್ಟು ಕುರಿತಾದ ಪುಲ್ ಬುಟ್ಟಿ ಸಲ್ಲಿಸಿ. ನಮ್ಮ ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ಸಮಸ್ಯೆಗಳ ನಂತರ, ನಾವು ಸಮುದಾಯ-ಚಾಲಿತ ಪರಿಹಾರಗಳಿಗೆ ಮುಂದಿನ ಗರಿಷ್ಠ ಆದ್ಯತೆ ನೀಡುತ್ತೇವೆ. ಪರಿಶೀಲನೆ ಮತ್ತು ಅನುಮೋದನೆಯ ನಂತರ, ನಿಮ್ಮ ಪರಿಹಾರವನ್ನು ನಾವು ಸೇರಿಸುತ್ತೇವೆ ಮತ್ತು ನಿಮ್ಮ ಕೊಟ್ಟ ಒಡನೆಯ ಕುಂಬಳಕ್ಕೆ ಕ್ರೆಡಿಟ್ ನೀಡುತ್ತೇವೆ.

3. ಹಣಕಾಸಿನ ಬೆಂಬಲ

ಜಾಹೀರಾತು ಮಾಡದ ವರ್ಗಗಳ ಹೊರಗೊಮ್ಮಲುಗೆ, ನೀವು ಅವರ ಪರಿಹಾರಕ್ಕೆ ಹಣ ಮರುಪಾವತಿಸಲು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಪ್ರತಿ ತೆರೆಯಾದ ಸಮಸ್ಯೆ ಹಣಕಾಸಿನ ಕೊಡುಗೆ ನೀಡಲು ನೀವು ಜೋಡಿಸಲು ಅವಕಾಶ ఇಷ್ಟು ಇರುವ ಆರ್ಡರ್ ಫಾರ್ಮ್‌ಗೆ ಸಂಪರ್ಕಪಟ್ಟಿದೆ. ನಾವು ನೀಡಿದ ಹಣಕಾಸಿನ ಪ್ರಮಾಣಕ್ಕೆ ಆಧಾರಿತವಾಗಿ ಈ ಸಮಸ್ಯೆಗಳನ್ನು ಶ್ರೇಣೀಬದ್ಧ ಮಾಡುತ್ತೇವೆ.

ಸಮುದಾಯ ಕೊಡುಗೆಗಳು

ತೆರೆಯಾಗಿ ಮೂಲಬರಹವು ತನ್ನ ಸಮುದಾಯವು ತೀವ್ರರಾಗುವುದು. ನೀವು ದೋಷಗಳನ್ನು ಪರಿಹರಿಸುತ್ತಿಲ್ಲ ಆದರೂ, ಕೋಡ್ ಸುಧಾರಣ್ಗಳ ಮೂಲಕ, ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ನವೀಕರಣಗಳು, ಟ್ಯುಟೋರಿಯಲ್ಸ್, ಅಥವಾ ಸಮುದಾಯ ಚಾನೆಲ್ಗಳಲ್ಲಿ ಇತರರ ಸಹಾಯ ಮಾಡುವ ಮೂಲಕ ಕೊಡುಗೆ ನೀಡುವುದನ್ನು ಪರಿಗಣಿಸು. open-source ಕೆಲಸವನ್ನು ಬೆಂಬಲಿಸಲು ನಾವು ಎಲ್ಲರಲ್ಲಿಯೂ ಹತ್ತಿರ ಪ್ರೋತ್ಸಾಹಿಸುತ್ತೇವೆ.

ಮರಳಿ ಹೇಳಬೇಕಾದರೆ, DefectiveCode ನಮ್ಮ ಪೈಸು ಉತ್ಪನ್ನಗಳನ್ನು ಪರಿಣಾಮ ಬೀರುವ ದೋಷಗಳನ್ನು, ಸಮುದಾಯ ಪುಲ್‌ರಿಕ್ವೆಸ್ಟ್‌ಗಳನ್ನು, ಮತ್ತು ಸಮಸ್ಯೆಗಳಿಗೆ ದೊರೆತ ಹಣಕಾಸಿನ ಬೆಂಬಲವನ್ನು ಆಧರವಾಗಿ ಆದ್ಯತೆ ನೀಡುತ್ತದೆ.

ലൈസൻസ് - MIT ലൈസൻസ്സ്

കനിഹ് © Defective Code, LLC. എല്ലാറ്റിനും അവകാശങ്ങൾ കൊണ്ടിരിക്കൊണ്ടു

ഈ സോഫ്റ്റ്വെയർ മനസ്സിലാക്കുകയും, ഇതുമായി ബന്ധപ്പെട്ട രേഖകൾ (''സോഫ്റ്റ്വെയർ'') എന്നതിൽ, ആരയെങ്കിലും ഈ സോഫ്റ്റ്വെയറിന്റെ ഒരു പകർപ്പ് സ്വതന്ത്രമായി കൈവശപ്പെടുത്താൻ, സോഫ്റ്റ്വെയറിൽ നിയമനിർമ്മാണം ചെയ്യാൻ, ബഹുഭാഷാക്കാൻ, സമന്വയിക്കാൻ, പ്രസിദ്ധീകരിക്കാൻ, വിതരണം ചെയ്യാൻ, ഉപരിമിതിയുള്ളവനെ/വെബ്‌സൈറ്റിനെ/വിപണിയിൽ, സോഫ്റ്റ്‌വെയർ ისტორი അുനിയ്ക്കുന്നു, അത്തരം വ്യക്തികളെ അനുവദിക്കാനും, തുടർന്ന് ഈ ഘടനകളെ സമർപ്പിക്കുമ്, ഈ നിബന്ധനകൾ പാലിക്കുവാൻ തയ്യാറാണ്:

മുകളിൽ കൊടുത്ത കൃതിമാറ്റം നോട്ടം, ഈ അനുമതി നോട്ടം എല്ലാ കോപ്പികളിലും അല്ലെങ്കിൽ സോഫ്റ്റ്വെയറിന്റെ പ്രധാന ഭാഗങ്ങളിൽ ഉൾപ്പെടണം.

സോഫ്റ്റ്വെയർ "എസ് ആസ്" എന്ന നിലയിൽ, ഏത് വിധത്തിലുള്ള ഗുണനിലവാരമോ, വ്യക്തമായോ അല്ലെങ്കിൽ സൂചിപ്പിക്കപ്പെട്ടതുമായ, വ്യാപാര സ്വദേശനിർമ്മാണം, പ്രത്യേക സാഹചര്യങ്ങൾക്കായുള്ള യോജ്യത, വിപരീതങ്ങളെക്കുറിച്ചുള്ള വൈകല്യങ്ങൾ അടക്കം, ഏതെങ്കിലും രൂപത്തിലുള്ള വഞ്ചനകൾ, ബാധ്യതയെ അറിഞ്ഞോ, അറിഞ്ഞില്ലയ്ക്കും, സോഫ്റ്റ്വെയർ അല്ലെങ്കിൽ സോഫ്റ്റ്‌വെയർ ഉപയോഗം അല്ലെങ്കിൽ അതിനോട് പൊരുത്തപ്പെടുന്ന മറ്റുള്ളവയിൽ നിൽക്കുന്നു, പിടിയിൽ അല്ലെങ്കിൽ കരാറിൽ, അഴുക്കുകൾ അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും, ഉയർന്ന കാര്യങ്ങളെ നേരിടുന്നു.