{"id":15957556,"url":"https://github.com/benapetr/memcached","last_synced_at":"2025-08-17T19:34:27.301Z","repository":{"id":8744148,"uuid":"10421858","full_name":"benapetr/memcached","owner":"benapetr","description":"Memcached server written in c# - with simpler configuration and setup and with many more options than the original version has, including plain text authentication and separate cache per user","archived":false,"fork":false,"pushed_at":"2013-06-09T09:35:05.000Z","size":296,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-22T11:43:02.617Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benapetr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-01T12:15:57.000Z","updated_at":"2019-12-22T22:48:16.000Z","dependencies_parsed_at":"2022-07-26T05:46:15.698Z","dependency_job_id":null,"html_url":"https://github.com/benapetr/memcached","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/benapetr/memcached","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benapetr%2Fmemcached","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benapetr%2Fmemcached/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benapetr%2Fmemcached/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benapetr%2Fmemcached/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benapetr","download_url":"https://codeload.github.com/benapetr/memcached/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benapetr%2Fmemcached/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270898886,"owners_count":24664705,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-07T14:00:22.312Z","updated_at":"2025-08-17T19:34:27.279Z","avatar_url":"https://github.com/benapetr.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"memcached\n=========\n\nMemcached server written in c# - with simpler configuration and setup and with many more options than the original version has, including plain text authentication and separate cache per user\n\nBuild\n=====\n\nDownload the source code, enter the directory and type:\n\n xbuild\n\nPlease note that you need to have a mono compiler and runtime available on your system\n\nInstallation\n============\n\nOnce you build the binary, it is recommended to create shell script wrapper like\n\n    #!/bin/sh\n    mono memcached.exe $*\n\nsave it as memcached in the build folder and then you can type\n\n    ./memcached -h # to display help\n    ./memcached # to start memcached server with default options\n    ./memcached --print-conf # to print a configuration file\n    ./memcached --config-file # to load a config file\n\nexample\n\n    ./memcached --print-conf \u003e memcache.cfg\n    # now edit the configuration file to your needs\n    ./memcached --config-file memcache.cfg\n\nAuthentication\n==============\n\nThe memcached has authentication enabled by default, that means, every user has to login before they can write or read the memory, even the shared one. In order to do that you need to provide the authenticate command, for example\n\n    authenticate bob:password\\r\\n\n\nthe response will be either SUCCESS when you log in successfuly or ERROR (ERROR01)\n\nManaging users\n==============\n\nUsers are stored in a user db file, which is a plain text file, this file contains user names and passwords so make sure to not make it readable by other users than system user which memcache run as\n\nexample:\n\n    user:12\n    bob:hi\n\ncreates 2 users, the file has syntax in format user:password you can change this file while daemon is running\n\nThe file is stored by default as users in working directory, but it can be changed by configuration option userdb\n\nFeatures\n========\n\nThis is a memcache server which support many additional features, primarily it supports authentication and separate caches per user, that means you can create one instance of memcache server and offer it to multiple users who can't access the data of other users\n\nBiggest advantage of this version is that is support different memory hashtables (separate memory stores) and each user has own dedicated hashtable. There is also a shared memory for everyone.\n\nThe memory limit and usage can be displayed per user\n\n * Authentication\n * Support for large memory (64bit memory addressing)\n * More configuration options\n * Shared memory pool that can be accessed using gget ggets or gset\n * Improved statistics\n * Simple but powerful configuration\n\nCurrent issues:\n\n * Doesn't support binary protocol (not documented anywhere)\n * Doesn't support memory sorting (doesn't seem to be easily possible in c#)\n\nDescriptive errors\n==================\n\nYou can enable this in configuration in order to get more descriptive errors which provide you the explanation of what is wrong, instead of ERROR you will receive ERRORNN with number of error. This is disabled by default.\n\n    ERROR00 Internal error (this means some kind of exception happened inside of server)\n    ERROR01 Authentication failed (wrong username or password)\n    ERROR02 Authentication required (you provided a correct command but you don't have permissions to read or write)\n    ERROR03 Uknown request - the command is not understood by server\n    ERROR04 Out of memory - there isn't enough operating memory to store the data, or you exceeded the limit\n    ERROR05 Invalid values one of the values you provided has incorrect format\n    ERROR06 Missing values - you need to provide all parameters\n    ERROR07 Value is too big\n\nSupport\n=======\n\nIn case you need any help or you want to report a bug, please contact me at benapetr@gmail.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenapetr%2Fmemcached","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenapetr%2Fmemcached","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenapetr%2Fmemcached/lists"}