6、python操作memcached

1、安装:python-memcached:pip install python-memcached。

2、建立连接:

importmemcache mc = memcache.Client(['127.0.0.1:11211','192.168.174.130:11211'],debug=True)

3、设置数据:

mc.set('username','hello world',time=60*5) mc.set_multi({'email':'[email protected]','tel':'111111'},time=60*5)

4、获取数据:

mc.get('tel')

5、删除数据:

mc.delete('email')

6、自增长:

mc.incr('read_count')

7、自减少:

mc.decr('read_count')

memcached的安全性:

memcached的操作不需要任何用户名和密码,只需要知道memcached服务器的ip地址和端口号即可。因此memcached使用的时候尤其要注意他的安全性。这里提供两种安全的解决方案。分别来进行讲解:

1、使用-l参数设置为只有本地可以连接:这种方式,就只能通过本机才能连接,别的机器都不能访问,可以达到最好的安全性。

2、使用防火墙,关闭11211端口,外面也不能访问。

  ufw enable # 开启防火墙

  ufw disable # 关闭防火墙

  ufw default deny # 防火墙以禁止的方式打开,默认是关闭那些没有开启的端口

  ufw deny 端口号 # 关闭某个端口

  ufw allow 端口号 # 开启某个端口

在Django中使用memcached:

首先需要在settings.py中配置好缓存:

CACHES = {

    'default' {

        'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',

        'LOCATION':'127.0.0.1:11211',   

         }

}

如果想要使用多台机器,那么可以在LOCATION指定多个连接,示例代码如下:

CACHES = {

    'default' {

        'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',

        'LOCATION': [

            '172.19.26.240:11211',

            '172.19.26.242:11211',        

            ]   

     }

}

配置好memcached的缓存后,以后在代码中就可以使用以下代码来操作memcached了:

from django.core.cache import cache

def index(request):  

    cache.set('abc','zhiliao',60)    

    print(cache.get('abc'))   

    response = HttpResponse('index')

    return response

需要注意的是,django在存储数据到memcached中的时候,不会将指定的key存储进去,而是会对key进行一些处理。比如会加一个前缀,会加一个版本号。如果想要自己加前缀,那么可以在settings.CACHES中添加KEY_FUNCTION参数:

CACHES = {

    'default' {

        'BACKEND':'django.core.cache.backends.memcached.MemcachedCache',

        'LOCATION':'127.0.0.1:11211',

        'KEY_FUNCTION':lambda key,prefix_key,version:"django:%s" % key   

         }

}

下一章介绍redis数据库在linux下的安装以及基本使用

你可能感兴趣的:(6、python操作memcached)