Skip to content

awesomized/libmemcached

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b32a714 · Apr 10, 2024
Feb 21, 2023
Jan 30, 2020
Oct 21, 2023
Feb 21, 2023
Jul 30, 2021
Feb 28, 2023
Nov 28, 2023
Dec 23, 2020
Jul 26, 2021
Jun 25, 2021
Mar 1, 2023
Sep 9, 2021
Mar 6, 2023
Oct 23, 2020
Oct 13, 2020
Sep 15, 2021
Dec 20, 2020
Nov 9, 2020
Sep 15, 2021
Feb 28, 2023
Feb 28, 2023
Mar 6, 2023
Aug 17, 2020
Aug 17, 2020
Jul 30, 2021
Oct 19, 2020
Oct 23, 2020
Oct 23, 2020
Oct 21, 2023
Oct 23, 2020
Jun 7, 2021
Jun 8, 2021
Sep 27, 2007
Jun 8, 2021
Dec 27, 2020
Oct 20, 2020
Sep 15, 2021
Dec 11, 2020

Repository files navigation

libmemcached-awesome

License Badge

libmemcached-awesome is an open source C/C++ client library and tools for the memcached server (http://memcached.org/). It has been designed to be light on memory usage, thread safe, and provide full access to server side methods.

NOTE:
This is a resurrection of the original work from Brian Aker at libmemcached.org.

Documentation

Docs Actions Badge

See https://awesomized.github.io/libmemcached

Building and updating docs

See gh-pages/publish script and the docs-publish-pages workflow, which automate pushing updated documentation to github pages.

Installing

libmemcached-awesome uses CMake. Please see/edit CMakeConfig.txt or use ccmake(1) or cmake-gui(1) to set any preferred options.

From source

git clone github.com:awesomized/libmemcached
mkdir build-libmemcached
cd $_
cmake ../libmemcached
make
sudo make install

Requirements

  • CMake 3.9+
  • C++11 compiler
  • GNU Bison 2.3+ and Flex
Optional dependencies
  • C++17 compiler (required for: tests)
  • Intel's libtbb (optional for: tests; for GCC's stdlib parallelism support)
  • pthreads (required for: tests, contrib/bin/memaslap, libmemcachedutil/pool)
  • libevent (required for: contrib/bin/memaslap)
  • Cyrus' libsasl2 (required for: libmemcached/sasl)

Binaries

CI and release builds for Linux, a couple BSDs, MacOS and Windows are available at https://artifacts.m6w6.name/libmemcached/ and rsync://m6w6.name::artifacts/libmemcached/.

Testing

Enable the BUILD_TESTING setting for a build and run make test.

cmake -DBUILD_TESTING=ON ../libmemcached
make test

Continuous integration

Actions Badge Sourcehut Badge

CI/Testing is performed on the following system matrix:

OS Compiler Arch Comments
Linux GNU 7/9/10, Clang 9/10/11/12 amd64 sasl, coverage, sanitizers
MacOS AppleClang 12 amd64 sasl, coverage
FreeBSD Clang 11 amd64 sasl, coverage
OpenBSD Clang 10 amd64 sasl, coverage
Windows MSVC 16, MinGW amd64 no sasl, no tests
Solaris SunPro 12.5 amd64 no sasl, no tests, manually

libmemcached-awesome has been tested against [memcached](https://github. com/memcached/memcached) v1.5 and v1.6.

ChangeLog

Check out the latest releases or the bundled ChangeLog for a comprehensive list of changes.

License

libmemcached-awesome is licensed under the 3-Clause-BSD license, which can be found in the accompanying LICENSE file.

Contributing

Please report any issues on the bug tracker.

A list of known permanent issues is maintained in BUGS.

All forms of contribution are welcome! Please see the bundled CONTRIBUTING note for the general principles followed.

The list of current and past maintainers and contributors is available in AUTHORS.