<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    原文地址:http://groups.google.it/group/django-users/browse_thread/thread/4ba5652bcbd1f958/958c6e7733a26a9c?hl=it&lnk=gst&q=average+time&rnum=3#958c6e7733a26a9c

    So, here is my version, using the cache backend:

    from datetime import timedelta, datetime
    from django.core.cache import cache
    from django.contrib.sites.models import Site

    ONLINE_MINUTES = 10
    CACHE_KEY = '%s_online_user_ids' % Site.objects.get_current().domain

    _last_purged = datetime.now()

    def get_online_user_ids():
        user_dict = cache.get(CACHE_KEY)
        return hasattr(user_dict, 'keys') and user_dict.keys() or []

    class OnlineUsers(object):
        def process_request(self, request):
            if request.user.is_anonymous():
                return

            user_dict = cache.get(CACHE_KEY)
            if not user_dict:
                # initialization
                user_dict = {}

            now = datetime.now()
            user_dict[request.user.id] = now

            # purge
            global _last_purged
            if _last_purged + timedelta(minutes=ONLINE_MINUTES) < now:
                purge_older_than = now - timedelta(minutes=ONLINE_MINUTES)
                for user_id, last_seen in user_dict.items():
                    if last_seen < purge_older_than:
                        del(user_dict[user_id])
                _last_purged = now

            cache.set(CACHE_KEY, user_dict, 60*60*24)

    This stores a dictionary in the form: {user_id: last_seen_time, ...}
    in the cache and updates the cache once for every request by an
    authenticated user.

    An alternative would be to store a structure like Jeremy's,
    {minute_seen: set(user_id, ...), ...} which I think will result in
    nearly the same amount of cache hits on average.

    I would like to hear your comments.

    posted on 2009-07-08 08:41 周銳 閱讀(760) 評論(1)  編輯  收藏 所屬分類: Python
    主站蜘蛛池模板: 亚洲午夜无码久久久久小说| 久久综合久久综合亚洲| 日韩在线视精品在亚洲| 国产91成人精品亚洲精品| 日韩一区二区a片免费观看| 国产精品自在自线免费观看| 亚洲 欧洲 日韩 综合在线| 欧美大尺寸SUV免费| 香蕉大伊亚洲人在线观看| 成人毛片免费播放| 亚洲AⅤ男人的天堂在线观看| av午夜福利一片免费看久久| 曰批全过程免费视频网址 | 亚洲精品中文字幕乱码影院| 国产大片免费网站不卡美女| 亚洲偷偷自拍高清| 在线观看片免费人成视频无码| 亚洲AV综合色区无码一区| 18女人毛片水真多免费| 亚洲最大的成人网站| 在线免费观看国产视频| 亚洲精品国产免费| 国产卡一卡二卡三免费入口| 亚洲国产精品久久久久婷婷软件| 91青青青国产在观免费影视| 国产成人麻豆亚洲综合无码精品| 亚洲影院天堂中文av色| 亚洲AV成人潮喷综合网| 亚洲成AV人影片在线观看| 精品久久8x国产免费观看| 久久精品亚洲综合一品| 99精品国产免费久久久久久下载 | 免费看国产一级片| 亚洲人精品亚洲人成在线| 国产伦精品一区二区三区免费迷| 中文字幕免费播放| 亚洲无码高清在线观看| 老子影院午夜伦不卡亚洲| 久久精品国产精品亚洲精品| 久久这里只有精品国产免费10| 色多多A级毛片免费看|