Skip to content

Commit

Permalink
Fixed docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicholas Charriere committed Aug 3, 2016
1 parent 5caae00 commit f84dcf4
Show file tree
Hide file tree
Showing 6 changed files with 189 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,16 @@ env/
#Translations
*.mo

# Mac FS
.DS_Store

#Mr Developer
.mr.developer.cfg

# Swap files.
*.swp

.pip
.pypirc
coverage.xml
\#*\#
Expand Down
7 changes: 7 additions & 0 deletions docs/apidoc/modules.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
pymemcache
==========

.. toctree::
:maxdepth: 4

pymemcache
46 changes: 46 additions & 0 deletions docs/apidoc/pymemcache.client.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
pymemcache.client package
=========================

Submodules
----------

pymemcache.client.base module
-----------------------------

.. automodule:: pymemcache.client.base
:members:
:undoc-members:
:show-inheritance:

pymemcache.client.hash module
-----------------------------

.. automodule:: pymemcache.client.hash
:members:
:undoc-members:
:show-inheritance:

pymemcache.client.murmur3 module
--------------------------------

.. automodule:: pymemcache.client.murmur3
:members:
:undoc-members:
:show-inheritance:

pymemcache.client.rendezvous module
-----------------------------------

.. automodule:: pymemcache.client.rendezvous
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: pymemcache.client
:members:
:undoc-members:
:show-inheritance:
54 changes: 54 additions & 0 deletions docs/apidoc/pymemcache.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
pymemcache package
==================

Subpackages
-----------

.. toctree::

pymemcache.client
pymemcache.test

Submodules
----------

pymemcache.exceptions module
----------------------------

.. automodule:: pymemcache.exceptions
:members:
:undoc-members:
:show-inheritance:

pymemcache.fallback module
--------------------------

.. automodule:: pymemcache.fallback
:members:
:undoc-members:
:show-inheritance:

pymemcache.pool module
----------------------

.. automodule:: pymemcache.pool
:members:
:undoc-members:
:show-inheritance:

pymemcache.serde module
-----------------------

.. automodule:: pymemcache.serde
:members:
:undoc-members:
:show-inheritance:


Module contents
---------------

.. automodule:: pymemcache
:members:
:undoc-members:
:show-inheritance:
75 changes: 75 additions & 0 deletions docs/getting_started.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
Getting started!
================
A comprehensive, fast, pure-Python memcached client library.

Basic Usage
------------

.. code-block:: python
from pymemcache.client.base import Client
client = Client(('localhost', 11211))
client.set('some_key', 'some_value')
result = client.get('some_key')
Using a memcached cluster
-------------------------
This will use a consistent hashing algorithm to choose which server to
set/get the values from. It will also automatically rebalance depending
on if a server goes down.

.. code-block:: python
from pymemcache.client.hash import HashClient
client = HashClient([
('127.0.0.1', 11211),
('127.0.0.1', 11212)
])
client.set('some_key', 'some value')
result = client.get('some_key')
Serialization
--------------

.. code-block:: python
import json
from pymemcache.client.base import Client
def json_serializer(key, value):
if type(value) == str:
return value, 1
return json.dumps(value), 2
def json_deserializer(key, value, flags):
if flags == 1:
return value
if flags == 2:
return json.loads(value)
raise Exception("Unknown serialization format")
client = Client(('localhost', 11211), serializer=json_serializer,
deserializer=json_deserializer)
client.set('key', {'a':'b', 'c':'d'})
result = client.get('key')
Best Practices
---------------

- Always set the connect_timeout and timeout arguments in the constructor to
avoid blocking your process when memcached is slow.
- Use the "noreply" flag for a significant performance boost. The "noreply"
flag is enabled by default for "set", "add", "replace", "append", "prepend",
and "delete". It is disabled by default for "cas", "incr" and "decr". It
obviously doesn't apply to any get calls.
- Use get_many and gets_many whenever possible, as they result in less
round trip times for fetching multiple keys.
- Use the "ignore_exc" flag to treat memcache/network errors as cache misses
on calls to the get* methods. This prevents failures in memcache, or network
errors, from killing your web requests. Do not use this flag if you need to
know about errors from memcache, and make sure you have some other way to
detect memcache server failures.
3 changes: 3 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ Contents:
.. toctree::
:maxdepth: 2

Getting Started </getting_started>
Source Code </apidoc/modules>



Indices and tables
Expand Down

0 comments on commit f84dcf4

Please sign in to comment.