summaryrefslogtreecommitdiff
path: root/pymemcache/client/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'pymemcache/client/base.py')
-rw-r--r--pymemcache/client/base.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pymemcache/client/base.py b/pymemcache/client/base.py
index d62dd80..ce82d5c 100644
--- a/pymemcache/client/base.py
+++ b/pymemcache/client/base.py
@@ -16,6 +16,7 @@ import socket
import six
from pymemcache import pool
+from pymemcache.client.murmur3 import murmur3_32
from pymemcache.exceptions import (
MemcacheClientError,
@@ -87,7 +88,8 @@ def _check_key(key, key_prefix=b''):
try:
key = key.encode('ascii')
except (UnicodeEncodeError, UnicodeDecodeError):
- raise MemcacheIllegalInputError("Non-ASCII key: '%r'" % (key,))
+ # Use murmur hash on unicode keys
+ key = str(murmur3_32(key))
key = key_prefix + key
if b' ' in key or b'\n' in key:
raise MemcacheIllegalInputError(