Redis keys are stick for ever... I figure out most of how to use the Niphold contrib, though it seems that created cached element stays in Redis for ever... I restart the server and they still there...
My issue look like it still there... There maybe something wrong in my logic... It like if the cached dict can't just be updated as usual : dict.update(key: value) Richard On Wed, Jan 13, 2016 at 1:00 PM, Richard Vézina <ml.richard.vez...@gmail.com > wrote: > Ha!! > > Yes nginx/uwsgi... > > That what I suspecting, it looks like the dict was kind of unique by > user... > > I think we should leave a note somewhere in the book about this issue... > > I was in the process of exploring Redis cache or memcache just to see if > there were not improvement. I will look into Redis. > > Thank you Anthony. > > Richard > > On Wed, Jan 13, 2016 at 12:19 PM, Anthony <abasta...@gmail.com> wrote: > >> Are you using nginx/uwsgi? If so, I believe cache.ram would not be shared >> across the different uwsgi worker processes. You might consider switching >> to the Redis cache. >> >> Anthony >> >> >> On Wednesday, January 13, 2016 at 11:26:16 AM UTC-5, Richard wrote: >>> >>> Hello, >>> >>> Still struggle with this. I don't understand why cache dict is not >>> updated in real time... >>> >>> It get updated but there is a strange delay. >>> >>> Thanks >>> >>> Richard >>> >>> On Mon, Jan 4, 2016 at 4:18 PM, Richard Vézina < >>> ml.richard.vez...@gmail.com> wrote: >>> >>>> UP here! >>>> >>>> Any help would be appreciate... >>>> >>>> Richard >>>> >>>> On Mon, Dec 21, 2015 at 10:22 PM, Richard <ml.richard.vez...@gmail.com> >>>> wrote: >>>> >>>>> Hello, >>>>> >>>>> I am still under 2.9.5, I have a simple dict cached in ram which never >>>>> expire that I update when new key value are added to the system... Mainly >>>>> the dict contain id and their representation... >>>>> >>>>> It works flawlessly in dev, but once I pushed in prod, it seems that >>>>> the cached dict takes time to really update... Here how I manage the >>>>> creation an update of this dict : >>>>> >>>>> def set_id_represent(update_id_represent_if_elapsed_time=None, id=None >>>>> ): >>>>> """ >>>>> Calling this function will create in globals the "id_represent" >>>>> variable if the call is made without >>>>> id. If id is passed, it will update the id_represent dictionary >>>>> with new >>>>> id and it representation. >>>>> :param id: >>>>> :param update_id_represent_if_elapsed_time: >>>>> """ >>>>> if 'id_represent' not in globals(): >>>>> global id_represent >>>>> id_represent = \ >>>>> cache.ram('id_represent', >>>>> lambda: {r.id: r.represent_field >>>>> for r in db().select(db.table_name.id, >>>>> db.table_name. >>>>> represent_field, >>>>> orderby=db. >>>>> table_name.represent_field) >>>>> }, >>>>> time_expire=update_id_represent_if_elapsed_time) >>>>> elif isinstance(id, int) or isinstance(id, long): >>>>> id_represent_query = \ >>>>> db(db.table_name.id == id >>>>> ).select(db.table_name.id, >>>>> db.table_name.represent_field, >>>>> orderby=db.table_name.represent_field) >>>>> id_represent.update({r.id: r.represent_field for r in >>>>> id_represent_query}) >>>>> if id: >>>>> return id_represent[id] >>>>> >>>>> set_id_represent(update_id_represent_if_elapsed_time=None) >>>>> >>>>> Then when I want to update the cached dict with new k, v : >>>>> >>>>> set_id_represent(id=my_id) >>>>> >>>>> I have made some test and print after the id_represent.update(...) >>>>> above from the function call and the dict seems to be updated... The >>>>> function that call set_in_represent(id=id) doesn't failed, but when we >>>>> want >>>>> to access page which user id_represent[some_id], they all failed for a >>>>> couples of minutes... Like if the cached dict not get update >>>>> immediately... >>>>> >>>>> Thanks for any pointer... >>>>> >>>>> Richard >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Resources: >>>>> - http://web2py.com >>>>> - http://web2py.com/book (Documentation) >>>>> - http://github.com/web2py/web2py (Source code) >>>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "web2py-users" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to web2py+unsubscr...@googlegroups.com. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> >>> -- >> Resources: >> - http://web2py.com >> - http://web2py.com/book (Documentation) >> - http://github.com/web2py/web2py (Source code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> You received this message because you are subscribed to the Google Groups >> "web2py-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to web2py+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.