# key-value-store

Published articles for key-value-store.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Bootstrapping a SQL Catalog on a Key-Value Store

DevFeed: [Bootstrapping a SQL Catalog on a Key-Value Store](<https://devfeed.tech/articles/keys-and-values-are-all-you-need-39416.md>)

Original publisher: [Read original article](<https://n8z.dev/posts/keys-and-values-are-all-you-need/>)

Author: Nevin Zheng

Published: 2026-05-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [nevzheng](<https://devfeed.tech/sources/nevzheng.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

A walkthrough of building a SQL catalog on a key-value store, covering the path from names and UUIDs to system-table rows and durable user records.

### Source excerpt

Bootstrapping a SQL catalog on a flat key-value store, end to end.

## Inside Jetpack ViewModel: Internal Mechanisms and Multiplatform Design

DevFeed: [Inside Jetpack ViewModel: Internal Mechanisms and Multiplatform Design](<https://devfeed.tech/articles/inside-jetpack-viewmodel-internal-mechanisms-and-multiplatform-design-25922.md>)

Original publisher: [Read original article](<https://proandroiddev.com/inside-jetpack-viewmodel-internal-mechanisms-and-multiplatform-design-2625671eaef8?source=rss-9bb203a4ab2e------2>)

Author: Jaewoong Eum

Published: 2025-12-07T02:29:08Z

Content type: tutorial

Language: en

Sources: [Stories by Jaewoong Eum on Medium](<https://devfeed.tech/sources/stories-by-jaewoong-eum-on-medium.md>)

Topics: [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [caching](<https://devfeed.tech/tags/caching.md>), [change](<https://devfeed.tech/tags/change.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [interface](<https://devfeed.tech/tags/interface.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [lifecycle](<https://devfeed.tech/tags/lifecycle.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [viewmodel](<https://devfeed.tech/tags/viewmodel.md>)

### AI overview

A technical tutorial explaining Jetpack ViewModel's internal mechanisms, including retention across configuration changes, ViewModelStore key-value caching, ViewModelProvider creation, factory-based instantiation, resource cleanup, and coroutine integration.

### Source excerpt

Unsplash@davidvig Jetpack's ViewModel has become an essential component of modern Android development, providing a lifecycle-aware container for UI-related data that survives configuration changes. While the API appears simple on the surface, the internal machinery reveals design decisions around lifecycle management, multiplatform abstraction, resource cleanup, and thread-safe caching. Understanding how ViewModel works under the hood helps you make better architectural decisions and avoid subtle bugs. In this article, you'll dive deep into how Jetpack ViewModel works internally, exploring how the ViewModelStore retains instances across configuration changes, how ViewModelProvider orchestrates creation and caching, how the factory pattern enables flexible instantiation, how CreationExtras enables stateless factories, how resource cleanup is managed through the Closeable pattern, and how viewModelScope integrates coroutines with the ViewModel lifecycle. The fundamental problem: Surviving configuration changes Configuration changes present a fundamental challenge for Android development. When a user rotates their device, changes language settings, or triggers any configuration change, the system destroys and recreates the Activity. Any data stored in the Activity is lost: https://medium.com/media/82ee86f042e31a1ede3f551f919b4429/href The naive approach is to use onSaveInstanceState(): https://medium.com/media/74f2c1da669e831b1488b3f297d55997/href This works for small, serializable data. But what about large datasets, network connections, or objects that can't be serialized? What about ongoing operations like network requests? The Bundle approach fails for these cases, both because of size limitations and because serialization/deserialization is expensive. ViewModel solves this by providing a lifecycle-aware container that survives configuration changes through a retained object pattern, not serialization. The ViewModelStore: The retention mechanism At the heart of Vie

## KVS: The key-value storage engine that powers the Fury ecosystem

DevFeed: [KVS: The key-value storage engine that powers the Fury ecosystem](<https://devfeed.tech/articles/kvs-the-key-value-storage-engine-that-powers-the-fury-ecosystem-22553.md>)

Original publisher: [Read original article](<https://medium.com/mercadolibre-tech/kvs-the-key-value-storage-engine-that-powers-the-fury-ecosystem-473829d2318e?source=rss----5011f85401f0---4>)

Author: Ariel Zach

Published: 2025-10-01T14:09:08Z

Content type: article

Language: en

Sources: [Mercado Libre Tech](<https://devfeed.tech/sources/mercado-libre-tech.md>)

Topics: [NoSQL](<https://devfeed.tech/topics/nosql.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Low Latency](<https://devfeed.tech/topics/low-latency.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Data Management](<https://devfeed.tech/topics/data-management.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [availability](<https://devfeed.tech/tags/availability.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [databases](<https://devfeed.tech/tags/databases.md>), [development](<https://devfeed.tech/tags/development.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [fury](<https://devfeed.tech/tags/fury.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [kvs](<https://devfeed.tech/tags/kvs.md>), [low-latency](<https://devfeed.tech/tags/low-latency.md>), [nosql](<https://devfeed.tech/tags/nosql.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [security](<https://devfeed.tech/tags/security.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article explains KVS, a key-value storage system in the Fury ecosystem. It describes how unique key-value pairs enable fast access, and reports that KVS supports large-scale distributed persistence with automatic scaling, low latency, availability, and recovery mechanisms.

### Source excerpt

In modern software development, the efficiency, scalability, and resilience of data storage systems are critical to any platform's success. In this context, KVS (Key-Value Store) emerges as a fundamental component within the Fury ecosystem, offering a robust and flexible solution for data management. This article explores what KVS is, how it works, and why it's so important for Fury and its users. What is KVS? KVS, or Key-Value Store, is a data storage system based on the key-value paradigm. Unlike traditional relational databases, which organize data in tables and rows, KVS stores each data element as a unique key-value pair. This approach simplifies access and manipulation of information, enabling extremely fast and efficient operations. In Fury, KVS isn't just another database -- it's the fundamental engine that drives distributed, scalable, and fault-tolerant data persistence and retrieval. Currently, KVS processes over 642 million operations per minute, including 572 million reads and 70 million writes. The underlying infrastructure scales automatically and maintains low latency even under high-demand scenarios. The service is used by more than 7,600 applications within Mercado Libre (around 25% of the total), making it a key component of the ecosystem. Overall, it stores over 9 petabytes of data with mechanisms that ensure availability and recovery in case of failures. How does KVS work? Each piece of data is stored under a unique key. To retrieve or modify a value, you only need to know its key, eliminating the need for complex queries and relationships. This speeds up both read and write operations. KVS is built on top of the Fury ecosystem, which provides key guarantees such as scalability, security, and traffic control. It uses an architecture based on a fully managed NoSQL solution, designed to automatically adapt to demand. Thanks to this infrastructure, KVS inherits advanced scalability capabilities, allowing it to grow automatically and transparently, c

## Heroku Key-Value Store Now Supports Valkey 8.1 with JSON and Bloom Modules

DevFeed: [Heroku Key-Value Store Now Supports Valkey 8.1 with JSON and Bloom Modules](<https://devfeed.tech/articles/heroku-key-value-store-now-supports-valkey-8-1-with-json-and-bloom-modules-26436.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/heroku-key-value-store-now-supports-valkey-81-json-bloom-modules/>)

Author: Jonathan Brown

Published: 2025-07-02T15:00:03Z

Content type: release

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Heroku](<https://devfeed.tech/topics/heroku.md>), [valkey](<https://devfeed.tech/topics/valkey.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [benchmarks](<https://devfeed.tech/tags/benchmarks.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cost](<https://devfeed.tech/tags/cost.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-key-value-store](<https://devfeed.tech/tags/heroku-key-value-store.md>), [json](<https://devfeed.tech/tags/json.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [modules](<https://devfeed.tech/tags/modules.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [performance](<https://devfeed.tech/tags/performance.md>), [redis](<https://devfeed.tech/tags/redis.md>), [valkey](<https://devfeed.tech/tags/valkey.md>)

### AI overview

Heroku announces general availability of Valkey v8.1 for Heroku Key-Value Store, adding Valkey Bloom and ValkeyJSON modules. The release includes performance, memory-efficiency, and I/O-threading improvements, with upgrade instructions and benchmark comparisons to Valkey 7.2.

### Source excerpt

We're thrilled to announce the general availability of Valkey v8.1 in Redis OSS compatible Heroku Key-Value Store. This isn't just an incremental update; it's a significant leap forward, bringing enhanced performance and greater efficiency. To add to this excitement, we're bringing powerful new module capabilities to v8.1, with Valkey Bloom and ValkeyJSON. For years, Heroku [...] The post Heroku Key-Value Store Now Supports Valkey 8.1 with JSON and Bloom Modules appeared first on Heroku.

## Rain: A key-value store for Strava's scale

DevFeed: [Rain: A key-value store for Strava's scale](<https://devfeed.tech/articles/rain-a-key-value-store-for-strava-s-scale-26575.md>)

Original publisher: [Read original article](<https://medium.com/strava-engineering/rain-a-key-value-store-for-stravas-scale-7f580f5b4848?source=rss----89d4108ce2a3---4>)

Author: Derick Yang

Published: 2025-01-24T18:02:11Z

Content type: article

Language: en

Sources: [Strava Engineering](<https://devfeed.tech/sources/strava-engineering.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Apache Cassandra](<https://devfeed.tech/topics/cassandra.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Databases](<https://devfeed.tech/topics/databases.md>)

Tags: [caching](<https://devfeed.tech/tags/caching.md>), [cassandra](<https://devfeed.tech/tags/cassandra.md>), [data](<https://devfeed.tech/tags/data.md>), [data-pipeline](<https://devfeed.tech/tags/data-pipeline.md>), [databases](<https://devfeed.tech/tags/databases.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [maps](<https://devfeed.tech/tags/maps.md>), [memory](<https://devfeed.tech/tags/memory.md>), [performance](<https://devfeed.tech/tags/performance.md>), [production](<https://devfeed.tech/tags/production.md>), [s3](<https://devfeed.tech/tags/s3.md>), [scale](<https://devfeed.tech/tags/scale.md>), [spark](<https://devfeed.tech/tags/spark.md>)

### AI overview

Strava's Geo and Metro teams work with large, immutable datasets derived from map, GPS, and third-party data. The article describes the challenges of serving these datasets and the limitations of using PalDB and Cassandra, including slow deployments, duplicated memory usage, cost constraints, and schema inflexibility.

### Source excerpt

Much of our heatmaps are built on batch data outputs stored in Rain At Strava, we love maps -- some of our most loved features are nestled on map surfaces. My team, the Geo team, is focused on building and improving these products. On the Geo and Metro teams, we tend to work with large datasets: aggregations of open source map data via OpenStreetMaps, GPS data points from uploaded activities, third-party datasets for properties like elevation, and beyond. This aggregated dataset eventually turns into Geo features we know and love, like the global heatmap, Strava Metro, the routing product, route suggestions, elevation profiles, and points of interest. We perform these data aggregations in a rather hefty data pipeline, run on a regular cadence to ensure we're serving up-to-date geo data. One of the Geo team's key challenges is efficiently serving large, immutable (write-once, read-many) datasets produced by our pipeline. This is particularly hard for compute-intensive use cases like routing, where: Write-Optimized vs. Read-Optimized Conflict: Traditional read-optimized data stores struggle with large batch writes without impacting read performance or introducing significant operational complexity. Cost Constraints: Storing rarely accessed datasets in production databases can be prohibitively expensive -- especially for projects like Strava Metro, which are accessed sporadically. Schema Complexity: Defining schemas externally from the service that uses them can be costly and inflexible for developers. Previously Our previous solution to large writes used a combination of datastores: PalDB and Cassandra. PalDB is a binary data format ideal for small datasets. The README states that it is optimized for "side data", relatively small datasets you read "in passing" on your service. PalDB is unideal, however, for larger datasets. In our case, since each service deployment required downloading the key-value file from S3, our deployments were taking upwards of twenty minutes. S

## Azure Cache for Redis as Key-Value Store with SpinKube

DevFeed: [Azure Cache for Redis as Key-Value Store with SpinKube](<https://devfeed.tech/articles/azure-cache-for-redis-as-key-value-store-with-spinkube-15171.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/azure-cache-for-redis-as-key-value-store-with-spinkube>)

Author: Thorsten Hans

Published: 2024-05-20T12:00:00Z

Content type: tutorial

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [Azure](<https://devfeed.tech/topics/azure.md>), [Azure Kubernetes Service](<https://devfeed.tech/topics/azure-kubernetes-service.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>)

Tags: [aks](<https://devfeed.tech/tags/aks.md>), [apps](<https://devfeed.tech/tags/apps.md>), [azure](<https://devfeed.tech/tags/azure.md>), [cache](<https://devfeed.tech/tags/cache.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [redis](<https://devfeed.tech/tags/redis.md>)

### AI overview

A tutorial showing how to run Spin Apps on Azure Kubernetes Service (AKS) and use Azure Cache for Redis as a key-value store.

### Source excerpt

See how to run Spin Apps on Azure Kubernetes Service (AKS) and use Azure Cache for Redis as Key-Value Store

## Announcing Spin v1.2

DevFeed: [Announcing Spin v1.2](<https://devfeed.tech/articles/announcing-spin-v1-2-15370.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/spin-v12>)

Author: Kate Goldenring

Published: 2023-05-16T17:47:22Z

Content type: release

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [SDKs](<https://devfeed.tech/topics/sdks.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Azure](<https://devfeed.tech/topics/azure.md>)

Tags: [azure](<https://devfeed.tech/tags/azure.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [rust](<https://devfeed.tech/tags/rust.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [updates](<https://devfeed.tech/tags/updates.md>), [v1](<https://devfeed.tech/tags/v1.md>)

### AI overview

Spin 1.2 introduces an expanded Rust key-value SDK, an Azure Cosmos DB key-value store, updates to `spin watch`, and other changes.

### Source excerpt

Spin 1.2 introduces an expanded Rust key-value SDK, an Azure CosmoDB key-value store, updates to `spin watch`, and more!

## Introducing the Fermyon Cloud Key Value Store

DevFeed: [Introducing the Fermyon Cloud Key Value Store](<https://devfeed.tech/articles/introducing-the-fermyon-cloud-key-value-store-15266.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/introducing-fermyon-cloud-key-value-store>)

Author: The Fermyon Team

Published: 2023-04-18T07:00:00Z

Content type: release

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [Cloud](<https://devfeed.tech/topics/cloud.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [application](<https://devfeed.tech/tags/application.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [data](<https://devfeed.tech/tags/data.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [store](<https://devfeed.tech/tags/store.md>), [value](<https://devfeed.tech/tags/value.md>)

### AI overview

Fermyon introduces a Cloud Key Value Store for persisting non-relational data in a key/value store for serverless applications. The store is described as always available within milliseconds and having no cold starts.

### Source excerpt

With the introduction of the Fermyon Cloud Key Value Store, you can now persist non-relational data in a key/value store that is always available for your serverless application within milliseconds, with no cold starts.

## Introducing Spin 1.1

DevFeed: [Introducing Spin 1.1](<https://devfeed.tech/articles/introducing-spin-1-1-15272.md>)

Original publisher: [Read original article](<https://www.fermyon.com/blog/introducing-spin-v11>)

Author: Radu Matei

Published: 2023-04-14T16:00:00Z

Content type: release

Language: en

Sources: [Fermyon - Experience the next wave of cloud computing.](<https://devfeed.tech/sources/fermyon-experience-the-next-wave-of-cloud-computing.md>)

Topics: [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [command](<https://devfeed.tech/tags/command.md>), [configure](<https://devfeed.tech/tags/configure.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [go](<https://devfeed.tech/tags/go.md>), [http](<https://devfeed.tech/tags/http.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

Spin 1.1 improves the developer experience with a new `spin watch` command, configurable key/value storage, and new HTTP routers for Rust and Go.

### Source excerpt

Spin 1.1 brings improvements to the developer experience through a new `spin watch` command, the ability to configure the Spin key/value store, new HTTP routers for Rust and Go, and more!

## Persistent dictionary

DevFeed: [Persistent dictionary](<https://devfeed.tech/articles/persistent-dictionary-39365.md>)

Original publisher: [Read original article](<https://kt.academy/article/pmem-persistent-dictionary>)

Published: 2022-05-19T00:01:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [systems](<https://devfeed.tech/topics/systems.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [data-structure](<https://devfeed.tech/tags/data-structure.md>), [file](<https://devfeed.tech/tags/file.md>), [function](<https://devfeed.tech/tags/function.md>), [iteration](<https://devfeed.tech/tags/iteration.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

A tutorial on implementing a persistent key/value dictionary with a linked list in persistent memory. It explains persistent pools, root objects, transactional allocation, and iteration through the list.

### Source excerpt

Let's make our in-memory dictionary persistent and understand some concepts of PMDK.

## How etcd works with and without Kubernetes

DevFeed: [How etcd works with and without Kubernetes](<https://devfeed.tech/articles/how-etcd-works-with-and-without-kubernetes-19131.md>)

Original publisher: [Read original article](<https://learnkube.com/etcd-kubernetes>)

Author: Emanuel Evans

Published: 2021-07-21T00:00:00Z

Content type: tutorial

Language: en

Sources: [Learnk8s](<https://devfeed.tech/sources/learnk8s.md>)

Topics: [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Database](<https://devfeed.tech/topics/database.md>), [API](<https://devfeed.tech/topics/api.md>), [Processes](<https://devfeed.tech/topics/processes.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [database](<https://devfeed.tech/tags/database.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [process](<https://devfeed.tech/tags/process.md>), [scheduler](<https://devfeed.tech/tags/scheduler.md>), [server](<https://devfeed.tech/tags/server.md>)

### AI overview

A deep dive into etcd as Kubernetes' database, explaining how it fits into the control plane and how to build, configure, and troubleshoot a 3-node etcd cluster.

### Source excerpt

Deep dive into etcd distributed key-value store and how Kubernetes uses it as its database. Learn to build, configure, and troubleshoot a 3-node etcd cluster with practical examples.

## Encrypted Key-Value Store in Kotlin Multiplatform - Brady Aiello

DevFeed: [Encrypted Key-Value Store in Kotlin Multiplatform - Brady Aiello](<https://devfeed.tech/articles/encrypted-key-value-store-in-kotlin-multiplatform-brady-aiello-38199.md>)

Original publisher: [Read original article](<https://touchlab.co/encrypted-key-value-store-kotlin-multiplatform>)

Published: 2021-06-02T03:51:47Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [Kotlin Multiplatform](<https://devfeed.tech/topics/kotlin-multiplatform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [multiplatform](<https://devfeed.tech/topics/multiplatform.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [ios](<https://devfeed.tech/tags/ios.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>)

### AI overview

This tutorial explains how to store encrypted key-value data in Kotlin Multiplatform applications. It demonstrates Android encrypted settings using EncryptedSharedPreferences, iOS storage using KeychainSettings, and approaches for selecting encrypted and unencrypted implementations in shared code.

### Source excerpt

How to store encrypted key-value data with Kotlin Multiplatform on Android and iOS without having to reinvent the wheel.

## A Redis Hello World in Ruby and Python

DevFeed: [A Redis Hello World in Ruby and Python](<https://devfeed.tech/articles/a-redis-hello-world-in-ruby-and-python-28294.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/redis/2019/11/15/a-redis-hello-world.html>)

Author: Fuzzygroup

Published: 2019-11-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [Python](<https://devfeed.tech/topics/python.md>), [Ruby](<https://devfeed.tech/topics/ruby.md>)

Tags: [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [network](<https://devfeed.tech/tags/network.md>), [nosql](<https://devfeed.tech/tags/nosql.md>), [port](<https://devfeed.tech/tags/port.md>), [python](<https://devfeed.tech/tags/python.md>), [redis](<https://devfeed.tech/tags/redis.md>), [ruby](<https://devfeed.tech/tags/ruby.md>)

### AI overview

A beginner tutorial demonstrates Redis as a key-value store through equivalent Hello World examples in Ruby and Python. It explains how to connect to a local Redis server and use the set and get commands.

### Source excerpt

A colleague just IM'd me and asked if I have a Hello World for redis and my thought was "No but I can damn well blog one together quick as all get out" so ... Note: If the word Redis means nothing to you then may I direct you to the quick start? The thing to understand about Redis is that you can use it in two ways: As a simple key value store, a nosql database if you like. As a data structure server. I don't do this much but I am in absolute awe of people who have internalized the Redis data model sufficiently to do this. The reason for bringing up this point, when I'm not going to cover it is that any developer ought to keep in mind the capabilities of their tools - and Redis is hugely capable. And if you think that I'm full of crap with what Redis can do with you, may I direct you to HyperLogLog. Hello World in Redis using Ruby The canonical Hello World for redis is using it as a key value store. Here's an example from Ruby: In Gemfile: gem 'redis' In console: require 'redis' 2.6.3 :005 > redis = Redis.new #<Redis client v4.1.3 for redis://127.0.0.1:6379/0> 2.6.3 :006 > redis.set("mykey", "hello world") "OK" 2.6.3 :007 > redis.get("mykey") "hello world" Here's the explanation: We bring in the Redis gem / class. We create a Redis object. By default Redis runs on localhost at port 6379. Redis has a quite solid network architecture so you can have a distributed set of servers with the data fetched back from them. The "set" command takes a name and a value and sets them into the underlying data store. The "get" command takes just the name and fetches back the value. Hello World in Redis Using Python And here is exactly the same example in Python: In requirements.txt: redis In console: >>> import redis >>> r = redis.Redis(host='localhost', port=6379, db=0) >>> r.set('mykey', 'hello world') True >>> r.get('mykey') 'hello world' And you can see that pretty much the exact same explanation applies. Redis uses a standard set of "verbs" that tend to be implemented similarly a

## Rethinking full text search

DevFeed: [Rethinking full text search](<https://devfeed.tech/articles/rethinking-full-text-search-38907.md>)

Original publisher: [Read original article](<https://idea.popcount.org/2012-07-02-rethinking-full-text-search>)

Author: Marek

Published: 2012-07-01T22:00:00Z

Content type: opinion

Language: en

Sources: [Marek Majkowski](<https://devfeed.tech/sources/marek-majkowski.md>)

Topics: [Databases](<https://devfeed.tech/topics/databases.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [NoSQL](<https://devfeed.tech/topics/nosql.md>), [data](<https://devfeed.tech/topics/data.md>), [coding](<https://devfeed.tech/topics/coding.md>)

Tags: [full-text-search](<https://devfeed.tech/tags/full-text-search.md>), [key-value-store](<https://devfeed.tech/tags/key-value-store.md>), [nosql](<https://devfeed.tech/tags/nosql.md>), [performance](<https://devfeed.tech/tags/performance.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [search-engine](<https://devfeed.tech/tags/search-engine.md>)

### AI overview

The article explores the design of a full-text search engine for Twitter-like workloads, focusing on real-time index updates, horizontal scalability, and simple architecture. It reports experiments using a distributed key-value store and finds that the storage layer, rather than the Python indexer, became the main performance bottleneck as the dataset grew beyond available memory.

### Source excerpt

Rethinking full text search In January 2009 I was wondering whether it is possible to build a full-text search engine that could handle the search for Twitter. At that time the search tool they provided was barely working. Later Twitter acquired Summize to solve this problem. A search engine for Twitter presents a unique set of constraints. Traditional full-text search engines assume that index once created won't be changed, updating is expensive by design.