V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  EchoUtopia  ›  全部回复第 8 页 / 共 15 页
回复总数  284
1  2  3  4  5  6  7  8  9  10 ... 15  
2017 年 10 月 14 日
回复了 takanasi 创建的主题 Python django 的信号是什么原理?
原理的话很简单,signal 里面有个 receivers 属性,是个 list, 有函数被 receiver 装饰了,就把这个函数 append 到 signal 的 receivers 属性里。然后调用这个 signal.send 函数的时候,就依次调用 receivers 里面的函数
2017 年 9 月 28 日
回复了 twogoods 创建的主题 数据库 数据库操作你是喜欢 ORM 还是手写 SQL
orm 可以很方便的复用数据对象
2017 年 9 月 19 日
回复了 beyoung 创建的主题 分享发现 如何证明小视频里的那个人不是你
第一感觉就是 pornhub 上见过😅
2017 年 8 月 22 日
回复了 kaiser1992 创建的主题 程序员 大文件定位某一行?
awk
2017 年 8 月 16 日
回复了 DoctorCat 创建的主题 程序员 Python 老人写 Java 代码,想吐,怎么治?
如果你用 java 做和 python 大致一样的事情肯定会这样
好吧,没看到你说不起作用了
gevent 可以把你的 python 同步阻塞代码自动变成异步的,patch_all 加个 httplib=True 参数,你看下在 gunicorn 下对应怎么处理
2017 年 8 月 14 日
回复了 ilwid 创建的主题 Python Python 新手问一个搜不出来的问题
@ilwid #12 额,你还是再多看一点 python 面对对象知识再来问吧。我觉得你都没看懂我的回答
2017 年 8 月 14 日
回复了 ilwid 创建的主题 Python Python 新手问一个搜不出来的问题
@ilwid #5 额,有点不知道怎么跟你解释了,什么假对象原对象,一个类本来就可以生成很多对象,这些对象也是在内存里面也是独立的。比如 class Person(name):... ;xiaozhang=Person('xiaozhang'); xiaoming=Person('xiaoming');这个例子里你说谁是真对象谁是假对象
2017 年 8 月 14 日
回复了 ilwid 创建的主题 Python Python 新手问一个搜不出来的问题
肯定不是原来的对象了啊,你都说了重新实例化了。要得到原来的对象你得通过参数找到原来的对象,比如使用单例模式。
2017 年 7 月 25 日
回复了 assad 创建的主题 程序员 我对 Python 的困惑
2017 年 7 月 25 日
回复了 assad 创建的主题 程序员 我对 Python 的困惑
@assad 四个线程什么鬼
这应该是 php 本身的限制了,我之前也是写 php 的,对线程、进程、异步、协程什么的觉得很高大上,后面用 python、go了,就觉得那些东西都是很平常的概念了,但是也要看做什么东西了,如果还是只埋头写简答的业务逻辑应该还是接触不了
2017 年 7 月 18 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@stone1342006
那个应该没影响,我改成 re.set(_lock_key, "locked", nx=True, ex=self._timeout)是一样的

@lolizeppelin
```
def unlock(self):
_lock_key = self._key['_lock:_HolytreeTech']
pipeline = self._re.pipeline
with pipeline() as p:
try:
p.watch(_lock_key)
lock_ident = p.get(_lock_key)
p.multi()
if lock_ident != self._ident:
return
p.delete(_lock_key)
p.execute()
except:
sys.stderr.write("not deleted\n")
```
我 unlock 的时候判断了下是不是自己的锁,结果还是一样
2017 年 7 月 17 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@lolizeppelin 我使用了新版的 redis 模块:re.set(_lock_key, "locked", nx=True, ex=self._timeout),结果还是一样的,回头再试试这个模块自带的锁
2017 年 7 月 17 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@sagaxu 我表述有误,不是随机数,是 random.choice(一个已定义的列表)

@lolizeppelin redis 在本地,没考虑过这个问题。后面实现改成把 last_user_id 放 redis 了。更改去看源码的时候,突然发现 python redis 自己就实现了一个锁,233
2017 年 7 月 17 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@zts1993 哦,这个意思啊,懂了。不过现在遇到的这个问题应该不是打印的,我打印的 lock 到 unlock 的时间都没超过1秒
2017 年 7 月 17 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@mansur 最后就是这样改的,但是这个问题还没解决

@lolizeppelin 你这个是有用到生产环境么,另外你有测试多进程情况吗。那个 setnx 再 expire 应该没问题把,因为 setnx 是原子操作,同时只会有一个实例设置成功,成功后再expire应该也没啥影响吧,没使用一条命令是因为python的redis客户端不支持这样操作


@zts1993 我的理解是如果锁已经被其他实例占用,那么这个 multi 的命令不会执行,不知道这样理解对不对
2017 年 7 月 17 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@lolizeppelin 你这个异步代码写的好6啊、

@zts1993 什么太复杂了
2017 年 7 月 17 日
回复了 EchoUtopia 创建的主题 程序员 redis 实现的一个锁有问题,求大神帮忙看看
@zts1993 那个 unlock 按我的理解是,如果 key 被其他人删了,那么会触发它的 watch,然后就不删除key了
1  2  3  4  5  6  7  8  9  10 ... 15  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2935 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 14:30 · PVG 22:30 · LAX 07:30 · JFK 10:30
♥ Do have faith in what you're doing.