FarNet.RedisKit 0.5.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package FarNet.RedisKit --version 0.5.0                
NuGet\Install-Package FarNet.RedisKit -Version 0.5.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FarNet.RedisKit" Version="0.5.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FarNet.RedisKit --version 0.5.0                
#r "nuget: FarNet.RedisKit, 0.5.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install FarNet.RedisKit as a Cake Addin
#addin nuget:?package=FarNet.RedisKit&version=0.5.0

// Install FarNet.RedisKit as a Cake Tool
#tool nuget:?package=FarNet.RedisKit&version=0.5.0                

FarNet.RedisKit

Far Manager Redis helpers based on FarNet.Redis


About

RedisKit is the FarNet module for Redis operations in Far Manager.

Project FarNet


Install

How to install and update FarNet and modules
https://github.com/nightroman/FarNet#readme


Commands

RedisKit commands start with rk:. Commands are invoked in the command line or using F11 / FarNet / Invoke or defined in the user menu and file associations. Command parameters are key=value pairs separated by semicolons, using the connection string format

rk:command [key=value] [; key=value] ...

Common parameters

  • Redis={string}

    Specifies Redis configuration string or name from Settings.

All commands


rk:edit

This command opens the key value editor. Saving in the editor commits to Redis. Editors are not modal, you may have several keys edited at the same time. See Editing as text about the rules.

Parameters

  • Key={string} (required)

    Specifies the existing key or a new String key.


rk:hash

This command opens Hash panel.

Parameters

  • Key={string} (required)

    Specifies the hash key. If the key does not exist then a new hash will be created. If the key type does not match then the command throws an error.

  • Eol={bool} (optional)

    Tells to show the EOL column with field end of live times.


rk:json

This command opens the editor of keys exported as JSON. Saving in the editor imports JSON back to Redis. Editors are not modal, you may have several keys edited at the same time.

Parameters

  • Mask={string} (required)

    Specifies the search pattern or wildcard or key.

    (1) If the mask contains [ or ] then it is used as Redis pattern. See: https://redis.io/docs/latest/commands/keys

    (2) If the mask contains * or ? then it is used as wildcard with special symbols * and ?.

    (3) Otherwise the mask is used as the key.

Unlike editing as text, JSON supports end of life values, blobs as Base64 strings, and complex type strings with new line characters.

JSON schema

{
  "{key}": {
    "EOL": "{universal-date-time}",
    "{type}": {value}
  },
  "{key}": ...
}
  • {key} - Redis keys
  • {type} - Text, Blob, List, Set, Hash
  • "EOL" - present or not depending on persistence
  • {value}
    • Text - usual string
    • Blob - Base64 string
    • List, Set, Hash - see below

List and Set {value}

List and Set values are arrays of literal strings and blobs. Literal strings are usual JSON strings. Blobs are represented as arrays with one Base64 string.

{
  "my-list": {
    "List": [
      "hello",
      ["AIA="]
    ]
  }
}

Hash {value}

Hash values are objects where properties are hash field names and values are field values, persistent strings and blobs and expiring strings and blobs.

{
  "my-hash": {
    "Hash": {
      "persistent-text": "42",
      "persistent-blob": ["AIA="],
      "expiring-text": {
        "EOL": "2025-02-02",
        "Text": "42"
      },
      "expiring-blob": {
        "EOL": "2025-02-02",
        "Blob": "AIA="
      }
    }
  }
}

rk:keys

This command opens Keys panel with the key pattern.

Parameters

  • Mask={string} (optional)

    Specifies the search pattern or wildcard or prefix.

    (1) If the mask contains [ or ] then it is used as Redis pattern. See: https://redis.io/docs/latest/commands/keys

    (2) If the mask contains * or ? then it is used as wildcard with special symbols * and ?.

    (3) Otherwise the mask is used as prefix. Keys are shown without the prefix. But panel operations work with actual keys with the prefix.


rk:list

This command opens List panel.

Parameters

  • Key={string} (required)

    Specifies the list key. If the key does not exist then a new list will be created. If the key type does not match then the command throws an error.


rk:set

This command opens Set panel.

Parameters

  • Key={string} (required)

    Specifies the set key. If the key does not exist then a new set will be created. If the key type does not match then the command throws an error.


rk:tree

This command opens Keys panel with inferred folders.

Parameters

  • Root={string} (optional)

    Specifies the root key prefix for rk:tree.
    The trailing separator (colon) is optional.

  • Colon={string} (optional)

    Specifies the folder separator for rk:tree.
    The default is traditional Redis colon (:).


Panels

RedisKit provides several panels for browsing and operating


Keys panel

This panel shows keys, folders (tree mode), value types and end-of-life dates. Type marks: * String, H Hash, L List, S Set.

It is opened by rk:keys and rk:tree.

Keys and actions

  • Enter

    For Hash, List, Set keys opens their panels.
    Use Esc in order to return to the keys panel.

    For folders enters the cursor folder.

  • F4

    Opens the cursor value editor. Saving in the editor commits to Redis. Editors are not modal, you may have several keys edited at the same time. See Editing as text about the rules.

  • ShiftF5

    Clones the cursor key with a new name.

  • ShiftF6

    Renames the cursor key or key folder.
    (!) Take special care on renaming folders.

  • F7

    Creates a new string key.

  • F8, Del

    Deletes the selected keys and key folders.
    (!) Take special care on deleting folders.

  • CtrlPgDn, CtrlPgUp, Enter "dots", CtrlBackSlash

    Folder navigation keys for rk:tree panel.

    If root is specified then navigating up stops at it.


Hash panel

This panel shows hash entries, fields and values.

It is opened from the keys panel or by rk:hash.

Keys and actions

  • F4

    Opens the cursor hash value editor.

  • ShiftF5

    Clones the cursor entry.

  • ShiftF6

    Renames the cursor field.

  • F7

    Creates a new entry.

  • F8, Del

    Deletes the selected entries.


List panel

This panel shows list items.

It is opened from the keys panel or by rk:list.

Keys and actions

  • F4

    Opens the cursor item editor.

  • ShiftF5

    Creates a new item before the cursor.

  • ShiftF6

    Renames the item.

  • F7

    Creates a new item at the tail.

  • F8, Del

    Deletes the selected items.


Set panel

This panel shows set members.

It is opened from the keys panel or by rk:set

Keys and actions

  • F4

    Opens the cursor member editor.

  • ShiftF5

    Creates a new member.

  • ShiftF6

    Renames the member.

  • F7

    Creates a new member.

  • F8, Del

    Deletes the selected members.


Editing as text

Editing Redis values as text is used by rk:edit and by file content operations in panels (F4, F3, CtrlQ).

  • String

    Redis String can be edited as text if its value looks like UTF-8.

  • List

    Redis List can be edited as text if its items look like UTF-8 and do not contain new line characters. Editor lines, including empty, represent items.

  • Set

    Redis Set can be edited as text if its items look like UTF-8 and do not contain new line characters. Editor lines, including empty, represent items.

  • Hash

    Redis Hash can be edited as text if its fields and values look like UTF-8 and do not contain new line characters. The Hash editor uses line triplets (field, value, empty line) for representing hash entries.

See also rk:json for the alternative way. Unlike editing as text, JSON supports end of life values, blobs as Base64 strings, and complex type strings with new line characters.


  • Copy key to clipboard

    Copies the current key name to clipboard.

  • Help

    Shows RedisKit help.


Settings

F11 / FarNet / Settings / RedisKit Settings and Workings

Settings / FolderSymbols

Specifies valid folder symbols in addition to letters and digits. They are used by rk:tree for inferring folder names.

Settings / Configurations

Specifies Redis configurations, environment variables are expanded. The default configuration name is specified by Workings/Configuration.

Example:

  <Configurations>
    <Configuration Name="Main">%FARNET_REDIS_CONFIGURATION%</Configuration>
    <Configuration Name="Local">127.0.0.1:3278</Configuration>
  </Configurations>

Workings / Configuration

Specifies the current default configuration name. The name must exist in Settings/Configurations.

Example:

  <Configuration>Local</Configuration>

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.5.1 64 2/4/2025
0.5.0 71 2/3/2025
0.4.0 71 1/31/2025
0.3.6 62 1/25/2025
0.3.5 111 1/1/2025
0.3.4 91 12/29/2024
0.3.3 100 12/24/2024
0.3.2 90 12/18/2024
0.3.1 104 12/14/2024
0.3.0 97 12/8/2024
0.2.6 113 10/27/2024
0.2.5 96 10/26/2024
0.2.4 100 10/25/2024
0.2.3 95 10/23/2024
0.2.2 106 10/22/2024
0.2.1 93 10/21/2024
0.2.0 102 10/21/2024
0.1.5 87 10/17/2024
0.1.4 155 5/15/2024
0.1.3 120 5/8/2024
0.1.2 120 5/7/2024
0.1.1 139 5/7/2024
0.1.0 140 5/6/2024
0.0.4 131 5/5/2024
0.0.3 123 5/5/2024
0.0.2 137 5/4/2024
0.0.1 142 5/4/2024