zoukankan      html  css  js  c++  java
  • memcached安全性 django使用memcached

      当我们登录memcached的时候,发现不需要任何密码,只需要端口号和ip地址就可以了,很不安全。下面为大家提供两种解决方法:

    1. 使用‘-1’参数 设置为只有本地可以连接:连接方式,就只能通过本机才能连接,别的机器不能访问,可以达到最好的安全性。
    2. 使用防火墙,关闭‘11211’端口,外面也不能访问。
      ...shell
      ufw enable #开启防火墙
      ufw disable #关闭防火墙 ufw default deny #防火墙已禁止的方式打开,默认是关闭那些没有开启的端口。
      ufw deny 端口号 #关闭某个端口
      ufw allow 端口号 #开启某个端口 ...

    django中使用memcached:

    在settings.py中直接添加一个caches缓存。

    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
            'LOCATION': '127.0.0.1:11211',
        }
    }

    也可以用多个服务器,只需要在local中添加ip地址即可。

    配置好memcached的缓存后,在views.py中就可以直接使用:

    from django.http import HttpResponse
    from django.core.cache import cache
    
    def index(request):
        cache.set('username','zhiliao',100)
        username = cache.get('username')
        print(username)
        return HttpResponse('ok')

    这时我们会在终端取值的时候会发现,我们指定的key不会被存储进去,而是会增加一个前缀,会加一个版本号。如果想要自己定义前缀,可以在settings.py中增加KEY_FUNCTION参数:

    1. 可以自己定义一个函数,
      def KEY_FUNCTION(key,key_prefix,version):
          return 'django:'+key
      CACHES = {
          'default': {
              'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
              'LOCATION': '127.0.0.1:11211',
              'KEY_FUNCTION':KEY_FUNCTION
          }
      }
    2. 也可以使用lambad表达式:
      CACHES = {
          'default': {
              'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
              'LOCATION': '127.0.0.1:11211',
              'KEY_FUNCTION': lambda key,key_prefix,version:'django'+key
      
          }
      }

      这样我们在终端取值的时候就直接 get+自己定义的名字+key 就可以了

    如何使用memcached中所有的key

    • stats items
    • stats cachedump [items_id] 0
  • 相关阅读:
    python基础-网络编程part01
    常见的加密算法
    mvn常用命令
    Stream排序Map集合
    解决浮点运算精度不准确,BigDecimal 加减乘除
    阿里fastjson解析
    java可变参数
    set集合迭代
    包装类型间的相等判断
    java集合与数组之间转换
  • 原文地址:https://www.cnblogs.com/nihao2/p/12316301.html
Copyright © 2011-2022 走看看