Yet Another Redis Library

Mirror of https://github.com/electric-sheep-co/yarl
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ryan Joseph e5b5947d51 List commands (phase one) 11 months ago
azuresphere Update VS project to correctly reference yarl include path 11 months ago
src List commands (phase one) 11 months ago
test List commands (phase one) 11 months ago
.gitignore Update .gitignore 11 months ago
LICENSE Create LICENSE 11 months ago
README.md Add KEYS, EXPIRE & EXPIREAT commands 11 months ago

README.md

yarl

Yet Another Redis Library

A couple dev kits arrived that wanted for a POSIX C Redis library, so this is a port of arduino-redis into straight-C. Some day, that library will consume this one & morph into just a nice C++ facade.

Given the simple MCU platforms being targetted, a “bring your own file descriptor” interface seemed like it would do nicely. To that end, RedisConnection_t is typedefed simply to int, a.k.a. a file descriptor. It could be a socket FD, a pipe FD, even an actual file descriptor if you’re so inclined. Anything that can be read(2) from and write(2)-en to. BYOFD!

Building

The test app

Should build & run on any POSIX platform.

clang -o yarl_test  -Wall -Werror -I./src ./src/*.c ./test/test.c
  • add -DDEBUG=1 to generate debugging logging
  • add -O0 -g2 to disable optimizations and generate symbols, to enable debugging via lldb/gdb

The Azure Sphere library

Requires the Azure Sphere SDK (so also Windows & VS17 or VS19).

The VS project in the azuresphere directory is preconfigured to build a static library named libyarl.a in the standard build output location.

See this project for an example of consuming yarl as a build dependency.