Redis
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> Redis

Nhận các khóa và giá trị Redis tại dấu nhắc lệnh

Không có lệnh nào cho việc đó, nhưng bạn có thể viết một đoạn script để làm như vậy.

Bạn sẽ cần thực hiện cho mỗi phím một lệnh "loại":

> type <key>

và tùy thuộc vào phản hồi thực hiện:

  • cho "chuỗi":get <key>
  • cho "hash":hgetall <key>
  • cho "danh sách":lrange <key> 0 -1
  • cho "set":smembers <key>
  • cho "zset":zrange <key> 0 -1 withscores

Hãy nhớ rằng đối với các hàm băm và các tập hợp đã sắp xếp, bạn sẽ nhận được các khóa / điểm số và giá trị.

Một sh khả thi thực hiện:

#!/bin/sh -eu
keys=`redis-cli keys '*'`
if [ "$keys" ]; then
    echo "$keys" | while IFS= read -r key; do
        type=`echo | redis-cli type "$key"`
        case "$type" in
            string) value=`echo | redis-cli get "$key"`;;
            hash) value=`echo | redis-cli hgetall "$key"`;;
            set) value=`echo | redis-cli smembers "$key"`;;
            list) value=`echo | redis-cli lrange "$key" 0 -1`;;
            zset) value=`echo | redis-cli zrange "$key" 0 -1 withscores`;;
        esac
        echo "> $key ($type):"
        echo "$value" | sed -E 's/^/    /'
    done
fi

Nhưng lưu ý:

Cảnh báo:xem xét KEYS như một lệnh chỉ nên được sử dụng trong môi trường sản xuất hết sức cẩn thận. Nó có thể làm hỏng hiệu suất khi nó được thực thi trên cơ sở dữ liệu lớn. Lệnh này dùng để gỡ lỗi và các thao tác đặc biệt, chẳng hạn như thay đổi bố cục không gian phím của bạn.

https://redis.io/commands/keys



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Có phải lệnh UNLINK luôn tốt hơn lệnh DEL không?

  2. Stackexchange.Redis tại sao ConnectionMultiplexer.Connect thiết lập hai kết nối máy khách?

  3. Redis mục danh sách Pop Theo số lượng mục

  4. Chuyển đổi dự phòng với StackExchange / Sentinel từ C #

  5. Chuyển từ SQLite sang Redis