ಹುಡುಕಾಟ ಸೇವೆ ವಾಸ್ತುಶಿಲ್ಪ: Valkey ಜೊತೆ ಸ್ವತಂತ್ರ Flask ಅಪ್ಲಿಕೇಶನ್

ಈ ಲೇಖನವು ನಮ್ಮ ಹುಡುಕಾಟ ಸೇವೆಯು ಪ್ರತ್ಯೇಕ ಸರ್ವರ್ನಲ್ಲಿ ಸ್ವತಂತ್ರ Flask ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಹೇಗೆ ಚಲಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಇದು Valkey (Redis ಫೋರ್ಕ್) ಅನ್ನು ಹೆಚ್ಚಿನ-ಕಾರ್ಯಕ್ಷಮತೆಯ ವೆಕ್ಟರ್ ಹುಡುಕಾಟ, ಕ್ಯಾಶಿಂಗ್ ಮತ್ತು ಆಟೋಕಂಪ್ಲೀಟ್ಗಾಗಿ ಬಳಸುತ್ತದೆ.

ಸಮಸ್ಯೆ: ಹುಡುಕಾಟ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಸ್ಕೇಲೆಬಿಲಿಟಿ

ಹುಡುಕಾಟ ಕಾರ್ಯಾಚರಣೆಗಳು ಕಂಪ್ಯೂಟೇಷನಲ್ ವೆಚ್ಚದಾಯಕವಾಗಿವೆ:

  • ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆ: ಪ್ರತಿ ಪ್ರಶ್ನೆಯ ವಿರುದ್ಧ 2,500+ ಪದಗುಚ್ಛಗಳನ್ನು ಹೊಂದಿಸಿ

  • ಸಂಬಂಧಿತ ಹುಡುಕಾಟಗಳು: 65K ಪ್ರಶ್ನೆಗಳಾದ್ಯಂತ ಸಾಮ್ಯತೆಯನ್ನು ಲೆಕ್ಕಹಾಕಿ

  • ಆಟೋಕಂಪ್ಲೀಟ್: 65K ಪ್ರಶ್ನೆಗಳ ಮೇಲೆ ಉಪಸರ್ಗ ಹೊಂದಾಣಿಕೆ

  • ಉತ್ಪನ್ನ ಫಿಲ್ಟರಿಂಗ್: ಬಹು ಮಾನದಂಡಗಳಿಂದ 5K+ ಉತ್ಪನ್ನಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ

ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ನಲ್ಲಿ ಈ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಚಲಾಯಿಸುವುದರಿಂದ:

  • ನಿಧಾನ ಪುಟ ಲೋಡ್ಗಳು: ಹುಡುಕಾಟವು ಇತರ ವಿನಂತಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ

  • ಮೆಮೊರಿ ಒತ್ತಡ: ಎಂಬೆಡಿಂಗ್ಗಳು ದೊಡ್ಡ ಮೆಮೊರಿ ವ್ಯಾಪ್ತಿಯನ್ನು ಆಕ್ರಮಿಸುತ್ತವೆ

  • CPU ಸ್ಪರ್ಧೆ: ಸಾಮ್ಯತೆ ಲೆಕ್ಕಾಚಾರವು CPU-ತೀವ್ರವಾಗಿದೆ

  • ಸ್ಕೇಲಿಂಗ್ ಕಷ್ಟ: ಹುಡುಕಾಟವನ್ನು ಸ್ವತಂತ್ರವಾಗಿ ಸ್ಕೇಲ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ

ನಮಗೆ ಸ್ವತಂತ್ರವಾಗಿ ಸ್ಕೇಲ್ ಮಾಡಬಲ್ಲ ಮೀಸಲಾದ ಹುಡುಕಾಟ ಸೇವೆ ಬೇಕು.

ಪರಿಹಾರ: ಸ್ವತಂತ್ರ ಹುಡುಕಾಟ ಸೇವೆ

ನಾವು ಮೀಸಲಾದ ಸರ್ವರ್ನಲ್ಲಿ ಪ್ರತ್ಯೇಕ Flask ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತೇವೆ:

Main Web Server
    ↓ HTTP API calls
Search Service
    ↓ Valkey queries
Valkey Server

ಈ ವಾಸ್ತುಶಿಲ್ಪವು ಒದಗಿಸುತ್ತದೆ:

  • ಸ್ವತಂತ್ರ ಸ್ಕೇಲಿಂಗ್: ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದೆ ಹುಡುಕಾಟ ಸೇವೆಯನ್ನು ಸ್ಕೇಲ್ ಮಾಡಿ

  • ಸಂಪನ್ಮೂಲ ಪ್ರತ್ಯೇಕತೆ: ಹುಡುಕಾಟ ಕಾರ್ಯಾಚರಣೆಗಳು ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ

  • ಕ್ಯಾಶಿಂಗ್: ವೇಗದ ಪುನರಾವರ್ತಿತ ಪ್ರಶ್ನೆಗಳಿಗಾಗಿ Valkey ಫಲಿತಾಂಶಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡುತ್ತದೆ

  • ಹೆಚ್ಚಿನ ಲಭ್ಯತೆ: ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರದೆ ಹುಡುಕಾಟ ಸೇವೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬಹುದು

ಹುಡುಕಾಟ ಸೇವೆ ಘಟಕಗಳು

1. ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆ API

  • ಎಂಡ್ಪಾಯಿಂಟ್: /api/extract_filters

  • ಉದ್ದೇಶ: ನೈಸರ್ಗಿಕ ಭಾಷೆಯ ಪ್ರಶ್ನೆಗಳಿಂದ ರಚನಾತ್ಮಕ ಫಿಲ್ಟರ್ಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ

  • ಉದಾಹರಣೆ:

GET /api/extract_filters?q=mini+pc+16gb+ram

Response:
{
  "Form Factor": "Mini PC",
  "Main Memory": "16"
}

ಅನುಷ್ಠಾನ:

ಕ್ಯಾಶಿಂಗ್: ಪದಗುಚ್ಛ ಮ್ಯಾಪಿಂಗ್ಗಳನ್ನು Valkey ನಲ್ಲಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗುತ್ತದೆ (30-ದಿನಗಳ TTL)

2. ಸಂಬಂಧಿತ ಹುಡುಕಾಟಗಳು API

  • ಎಂಡ್ಪಾಯಿಂಟ್: /api/related

  • ಉದ್ದೇಶ: ವೆಕ್ಟರ್ ಹುಡುಕಾಟವನ್ನು ಬಳಸಿಕೊಂಡು ಅರ್ಥದಲ್ಲಿ ಸಮಾನವಾದ ಪ್ರಶ್ನೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ

  • ಉದಾಹರಣೆ:

POST /api/related
{
  "query": "mini pc",
  "limit": 10
}

Response:
{
  "related": [
    {"query": "small computer", "similarity": 0.92},
    {"query": "compact desktop", "similarity": 0.89},
    {"query": "mini pc 8gb", "similarity": 0.87}
  ]
}

ಅನುಷ್ಠಾನ:

  • all-mpnet-base-v2 ಬಳಸಿ ಪ್ರಶ್ನೆಯನ್ನು ಎಂಬೆಡ್ ಮಾಡಿ

  • ಹತ್ತಿರದ ನೆರೆಹೊರೆಯವರಿಗಾಗಿ Valkey RediSearch ಅನ್ನು ಪ್ರಶ್ನಿಸಿ

  • ಸಾಮ್ಯತೆಯಿಂದ ವಿಂಗಡಿಸಲಾದ ಉನ್ನತ N ಫಲಿತಾಂಶಗಳನ್ನು ಹಿಂತಿರುಗಿಸಿ

ಕ್ಯಾಶಿಂಗ್: ಫಲಿತಾಂಶಗಳನ್ನು Valkey ನಲ್ಲಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗುತ್ತದೆ (7-ದಿನಗಳ TTL)

3. ಆಟೋಕಂಪ್ಲೀಟ್ API

  • ಎಂಡ್ಪಾಯಿಂಟ್: /api/autocomplete

  • ಉದ್ದೇಶ: ಬಳಕೆದಾರ ಟೈಪ್ ಮಾಡುತ್ತಿರುವಾಗ ಪ್ರಶ್ನೆಗಳನ್ನು ಸೂಚಿಸಿ

  • ಉದಾಹರಣೆ:

GET /api/autocomplete?q=mini+p&limit=5

Response:
{
  "suggestions": [
    "mini pc",
    "mini pc 16gb",
    "mini pc 8gb ram",
    "mini pc fanless",
    "mini pc windows 11"
  ]
}

ಅನುಷ್ಠಾನ:

  • ಉಪಸರ್ಗ ಹೊಂದಾಣಿಕೆಯೊಂದಿಗೆ Valkey RediSearch ಅನ್ನು ಪ್ರಶ್ನಿಸಿ

  • ಜನಪ್ರಿಯತೆಯಿಂದ ಶ್ರೇಣೀಕರಿಸಿ (ಇಂಪ್ರೆಶನ್ + ಕ್ಲಿಕ್ ಸ್ಕೋರ್)

  • ಉನ್ನತ N ಸೂಚನೆಗಳನ್ನು ಹಿಂತಿರುಗಿಸಿ

ಕ್ಯಾಶಿಂಗ್: Valkey ನಲ್ಲಿ ಆಟೋಕಂಪ್ಲೀಟ್ ಸೂಚ್ಯಂಕ (ದೈನಂದಿನ ನವೀಕರಣ)

4. ಜನಪ್ರಿಯ ಪ್ರಶ್ನೆಗಳು API

  • ಎಂಡ್ಪಾಯಿಂಟ್: /api/popular

  • ಉದ್ದೇಶ: ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಪ್ರಶ್ನೆಗಳನ್ನು ಪಡೆಯಿರಿ

  • ಉದಾಹರಣೆ:

GET /api/popular?limit=10

Response:
{
  "queries": [
    "mini pc",
    "thin client",
    "industrial pc",
    "all in one pc"
  ]
}

ಅನುಷ್ಠಾನ:

  • Valkey ಅಥವಾ JSON ನಿಂದ ಪ್ರಶ್ನೆಗಳನ್ನು ಲೋಡ್ ಮಾಡಿ

  • ಟ್ರಾಫಿಕ್ ಸ್ಕೋರ್ ಮೂಲಕ ವಿಂಗಡಿಸಿ (ಇಂಪ್ರೆಶನ್ಗಳು + ಕ್ಲಿಕ್ಗಳು)

  • ಉನ್ನತ N ಪ್ರಶ್ನೆಗಳನ್ನು ಹಿಂತಿರುಗಿಸಿ

ಕ್ಯಾಶಿಂಗ್: ಜನಪ್ರಿಯ ಪ್ರಶ್ನೆಗಳನ್ನು Valkey ನಲ್ಲಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗುತ್ತದೆ (30-ದಿನಗಳ TTL)

Valkey ಏಕೀಕರಣ

Valkey ಒಂದು Redis ಫೋರ್ಕ್ ಆಗಿದ್ದು, ಅದು ಒದಗಿಸುತ್ತದೆ:

  • ವೆಕ್ಟರ್ ಹುಡುಕಾಟ: ಸಾಮ್ಯತೆ ಹುಡುಕಾಟಕ್ಕಾಗಿ RediSearch ಮಾಡ್ಯೂಲ್

  • ಕ್ಯಾಶಿಂಗ್: ವೇಗದ ಇನ್-ಮೆಮೊರಿ ಕೀ-ಮೌಲ್ಯ ಸಂಗ್ರಹ

  • ಆಟೋಕಂಪ್ಲೀಟ್: ವಿಂಗಡಿಸಿದ ಸೆಟ್ಗಳೊಂದಿಗೆ ಉಪಸರ್ಗ ಹೊಂದಾಣಿಕೆ

  • ಶಾಶ್ವತತೆ: ಬಾಳಿಕೆಗಾಗಿ AOF (Append-Only File)

RediSearch ನೊಂದಿಗೆ ವೆಕ್ಟರ್ ಹುಡುಕಾಟ

ನಾವು ವೆಕ್ಟರ್ ಸಾಮ್ಯತೆ ಹುಡುಕಾಟಕ್ಕಾಗಿ Valkey ನ RediSearch ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ:

ಸೂಚ್ಯಂಕ ಸೃಷ್ಟಿ:

client.ft("queries_idx").create_index([
    VectorField("embedding", "FLAT", {
        "TYPE": "FLOAT32",
        "DIM": 768,
        "DISTANCE_METRIC": "COSINE"
    }),
    TextField("query"),
    NumericField("score")
])

ವೆಕ್ಟರ್ ಹುಡುಕಾಟ:

query_embedding = model.encode(query)
results = client.ft("queries_idx").search(
    Query("*=>[KNN 10 @embedding $vec AS score]")
    .sort_by("score")
    .return_fields("query", "score")
    .dialect(2),
    query_params={"vec": query_embedding.tobytes()}
)

ಇದು ಕೊಸೈನ್ ಸಾಮ್ಯತೆಯಿಂದ ಹತ್ತಿರದ 10 ನೆರೆಹೊರೆಯವರನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

ಕ್ಯಾಶಿಂಗ್ ತಂತ್ರ

ನಾವು Valkey ನಲ್ಲಿ ಬಹು ಡೇಟಾ ಪ್ರಕಾರಗಳನ್ನು ಕ್ಯಾಶ್ ಮಾಡುತ್ತೇವೆ:

ಪದಗುಚ್ಛ ಮ್ಯಾಪಿಂಗ್ಗಳು (30-ದಿನಗಳ TTL):

client.setex(
    "seo:phrase_mappings",
    30 * 24 * 3600,
    json.dumps(phrase_mappings)
)

ಸಂಬಂಧಿತ ಹುಡುಕಾಟಗಳು (7-ದಿನಗಳ TTL):

cache_key = f"related:{query_hash}"
client.setex(cache_key, 7 * 24 * 3600, json.dumps(results))

ಜನಪ್ರಿಯ ಪ್ರಶ್ನೆಗಳು (30-ದಿನಗಳ TTL):

client.setex(
    "seo:popular_queries",
    30 * 24 * 3600,
    json.dumps(popular_queries)
)

ಆಟೋಕಂಪ್ಲೀಟ್ ಸೂಚ್ಯಂಕ (ದೈನಂದಿನ ನವೀಕರಣ):

for query, score in queries:
    client.zadd("autocomplete:mini", {query: score})

ವಿಂಗಡಿಸಿದ ಸೆಟ್ಗಳೊಂದಿಗೆ ಆಟೋಕಂಪ್ಲೀಟ್

ನಾವು ಆಟೋಕಂಪ್ಲೀಟ್ಗಾಗಿ Valkey ವಿಂಗಡಿಸಿದ ಸೆಟ್ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ:

ಸೂಚ್ಯಂಕ ರಚನೆ:

autocomplete:m     → ["mini pc": 5000, "mini computer": 3000]
autocomplete:mi    → ["mini pc": 5000, "mini computer": 3000]
autocomplete:min   → ["mini pc": 5000, "mini computer": 3000]
autocomplete:mini  → ["mini pc": 5000, "mini computer": 3000]

ಉಪಸರ್ಗ ನೋಟ:

prefix = "mini"
results = client.zrevrange(f"autocomplete:{prefix}", 0, 9, withscores=True)

ಇದು "mini" ಯಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಉನ್ನತ 10 ಪ್ರಶ್ನೆಗಳನ್ನು ಸ್ಕೋರ್ ಮೂಲಕ ವಿಂಗಡಿಸಿ ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

API ಸಂವಹನ

ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ HTTP ಮೂಲಕ ಹುಡುಕಾಟ ಸೇವೆಯನ್ನು ಕರೆಯುತ್ತದೆ:

ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆ

from app.shared.filter_service import extract_filters_from_query

filters = extract_filters_from_query("mini pc 16gb ram")
# Internally calls: GET SEARCH_SERVICE_URL/api/extract_filters?q=...

ಸಂಬಂಧಿತ ಹುಡುಕಾಟಗಳು

import requests

response = requests.post(
    "SEARCH_SERVICE_URL/api/related",
    json={"query": "mini pc", "limit": 10},
    timeout=2
)
related = response.json()["related"]

ಆಟೋಕಂಪ್ಲೀಟ್

response = requests.get(
    "SEARCH_SERVICE_URL/api/autocomplete",
    params={"q": "mini p", "limit": 5},
    timeout=1
)
suggestions = response.json()["suggestions"]

ದೋಷ ನಿರ್ವಹಣೆ ಮತ್ತು ಫಾಲ್ಬ್ಯಾಕ್ಗಳು

ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ ಹುಡುಕಾಟ ಸೇವೆಯ ವೈಫಲ್ಯಗಳನ್ನು ಸುಲಭವಾಗಿ ನಿಭಾಯಿಸುತ್ತದೆ:

try:
    filters = extract_filters_from_query(query)
except Exception as e:
    logger.error(f"Search service failed: {e}")
    filters = {}  # Fallback to empty filters

ಇದು ಹುಡುಕಾಟ ಸೇವೆ ಡೌನ್ ಆಗಿದ್ದರೂ ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

ನೆಟ್ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್

ಎಲ್ಲಾ ಸರ್ವರ್ಗಳು ಖಾಸಗಿ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿವೆ:

  • ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್: ಹುಡುಕಾಟ ಸೇವೆ ಮತ್ತು Valkey ಅನ್ನು ಪ್ರವೇಶಿಸಬಹುದು

  • ಹುಡುಕಾಟ ಸೇವೆ: Valkey ಅನ್ನು ಪ್ರವೇಶಿಸಬಹುದು

  • Valkey: ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ ಮತ್ತು ಹುಡುಕಾಟ ಸೇವೆಯಿಂದ ಮಾತ್ರ ಪ್ರವೇಶಿಸಬಹುದು

ಹುಡುಕಾಟ ಸೇವೆ ಅಥವಾ Valkey ಗೆ ಯಾವುದೇ ಬಾಹ್ಯ ಪ್ರವೇಶವಿಲ್ಲ.

SEO ಪೈಪ್ಲೈನ್ನೊಂದಿಗೆ ಏಕೀಕರಣ

ಹುಡುಕಾಟ ಸೇವೆಯು SEO ಪೈಪ್ಲೈನ್ನೊಂದಿಗೆ ಸಂಯೋಜಿಸುತ್ತದೆ:

ಹಂತ 11: Valkey ಗೆ ವಲಸೆ

SEO ಪೈಪ್ಲೈನ್ Valkey ಗೆ ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ:

# Load query embeddings
for query, embedding in zip(queries, embeddings):
    client.hset(f"query:{query_hash}", mapping={
        "query": query,
        "embedding": embedding.tobytes(),
        "score": score
    })

# Create RediSearch index
client.ft("queries_idx").create_index([...])

ವಿವರಗಳಿಗಾಗಿ Valkey ವಲಸೆ ನೋಡಿ.

ಪ್ರಶ್ನೆ ಲಾಗಿಂಗ್

ಹುಡುಕಾಟ ಸೇವೆಯು SEO ಪೈಪ್ಲೈನ್ಗಾಗಿ ಪ್ರಶ್ನೆಗಳನ್ನು ಲಾಗ್ ಮಾಡುತ್ತದೆ:

log_entry = {
    "timestamp": datetime.now(timezone.utc).isoformat(),
    "query": query,
    "filters_extracted": filters,
    "results_count": len(results)
}
with open(SEO_LIVE_QUERIES_LOG, "a") as f:
    f.write(json.dumps(log_entry) + "\n")

ಈ ಲಾಗ್ಗಳು ಹಂತ 1d ಗೆ ಮರಳಿ ಫೀಡ್ ಆಗುತ್ತವೆ: ಲೈವ್ ಪ್ರಶ್ನೆಗಳನ್ನು ಪಡೆಯಿರಿ.

ಉಲ್ಲೇಖಗಳು

ತಾಂತ್ರಿಕ ಪರಿಕಲ್ಪನೆಗಳು

ಸಂಬಂಧಿತ ಲೇಖನಗಳು

ಸಾರಾಂಶ

ನಮ್ಮ ಹುಡುಕಾಟ ಸೇವೆಯು ಪ್ರತ್ಯೇಕ ಸರ್ವರ್ನಲ್ಲಿ ಸ್ವತಂತ್ರ Flask ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಚಲಿಸುತ್ತದೆ:

ವಾಸ್ತುಶಿಲ್ಪ:

  • ಮೀಸಲಾದ ಸರ್ವರ್ನಲ್ಲಿ ಸ್ವತಂತ್ರ Flask ಅಪ್ಲಿಕೇಶನ್

  • ಕ್ಯಾಶಿಂಗ್ ಮತ್ತು ವೆಕ್ಟರ್ ಹುಡುಕಾಟಕ್ಕಾಗಿ Valkey (Redis ಫೋರ್ಕ್)

  • ಮುಖ್ಯ ವೆಬ್ ಸರ್ವರ್ನೊಂದಿಗೆ ಸಂವಹನಕ್ಕಾಗಿ HTTP API

API ಗಳು:

  • /api/extract_filters - ಪ್ರಶ್ನೆಗಳಿಂದ ಫಿಲ್ಟರ್ಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ

  • /api/related - ಸಮಾನ ಪ್ರಶ್ನೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಿರಿ (ವೆಕ್ಟರ್ ಹುಡುಕಾಟ)

  • /api/autocomplete - ಪ್ರಶ್ನೆಗಳನ್ನು ಸೂಚಿಸಿ (ಉಪಸರ್ಗ ಹೊಂದಾಣಿಕೆ)

  • /api/popular - ಜನಪ್ರಿಯ ಪ್ರಶ್ನೆಗಳನ್ನು ಪಡೆಯಿರಿ

Valkey ವೈಶಿಷ್ಟ್ಯಗಳು:

  • ವೆಕ್ಟರ್ ಹುಡುಕಾಟ (RediSearch ಮಾಡ್ಯೂಲ್)

  • ಕ್ಯಾಶಿಂಗ್ (ಪದಗುಚ್ಛ ಮ್ಯಾಪಿಂಗ್ಗಳಿಗೆ 30-ದಿನಗಳ TTL)

  • ಆಟೋಕಂಪ್ಲೀಟ್ (ವಿಂಗಡಿಸಿದ ಸೆಟ್ಗಳು)

  • ಶಾಶ್ವತತೆ (AOF)

ಪ್ರಯೋಜನಗಳು:

  • ಸ್ವತಂತ್ರ ಸ್ಕೇಲಿಂಗ್

  • ಸಂಪನ್ಮೂಲ ಪ್ರತ್ಯೇಕತೆ

  • ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ (Valkey ಕ್ಯಾಶಿಂಗ್)

  • ದೋಷ ಸಹಿಷ್ಣುತೆ (ಸುಗಮ ಅವನತಿ)

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


← ದಸ್ತಾವೇಜು ಸೂಚ್ಯಂಕಕ್ಕೆ ಹಿಂತಿರುಗಿ