Skip to content

Requirements and Integrations

Peter Goldstein edited this page Jan 30, 2023 · 3 revisions

Memcached

By default Dalli uses memcached's binary protocol, introduced in version 1.4.0 of memcached. Dalli works with any version of memcached that supports the binary protocol, which currently includes the 1.4.x, 1.5.x, and 1.6.x versions of memcached.

While the binary protocol is deprecated going forward, there is no current information on when it will be removed from memcached. Removal of the protocol would merit at least a minor version update of memcached, so Dalli can be expected to work correctly with future 1.6.x patch versions of memcached.

In Dalli 3.2 support was added for memcached's meta protocol. This protocol, an evolution of the older ASCII protocol, is the planned go-forward protocol for memcached. It supported all required functions as of memcached 1.6.13, and Dalli is compatible with memcached's meta protocol for memcached 1.6.13 and later 1.6.x patch versions.

That said, the 1.4.x versions are very old at this point. The first 1.4.x release was in July 2009, and the last was in July 2017. We recommend that you use a more recent version of memcached - one from the 1.5.x or 1.6.x set. Because of GitHub action limitations, these are the only versions we currently test as part of CI.

Dalli works with Elasticache and other hosted memcached instances.

Ruby

A Ruby implementation is considered supported if it runs as part of Dalli's CI process.

The following Ruby versions are supported as of Dalli 3.x

  • MRI: 2.6.x, 2.7.x, 3.0.x, 3.1.x, 3.2.x
  • JRuby: 9.3.x, 9.4.x

Rack

Dalli does not have a runtime dependency on Rack. It can be used in non-Rack applications.

That said, Dalli includes an implementation of a Rack session store. Use of that implementation requires Rack 2.x, version 2.2.0 or higher.

Rails

Dalli does not have a runtime dependency on Rails. It can be used in non-Rails applications.

That said, Dalli is frequently used in Rails applications. Discussion of how Dalli integrates with Rails can be found here.

Dalli will maintain compatibility with Rails versions specified in the Security Issues level of the Rails maintenance policy. Please note that some integration issues may require code changes on the Rails side.