Форум → Программирование → Python → Simple Python Queue with Redis
Simple Python Queue with Redis
-
Июнь 7, 2012, 9:56 д.п., спустя 29 минут 35 секунд
Ага. Ну так ровно со строками только получится. А чаще нужно посерьёзнее что-нибудь - словарь, например. И ничего не будет работать.
Потому как сериализации-десереализации нет у автора. А сам редисовский клиент сделан в этом плане более чем через жопу.
In [24]: import redis
In [25]: cl = redis.Redis()
In [26]: d = {'a':12, 'b':24}
In [27]: cl.set('foo', d)
Out[27]: True
In [28]: d1 = cl.get('foo')
In [29]: print d1, type(d1)
{'a': 12, 'b': 24} <type 'str'>
Сериализует на входе, но не десериализует на выходе! Ну да, они наверное не вкурсе, что сериализуют - просто к стриге приводят (str()).
И это такой основательный пиздец, в главной библиотеке по работе с популярным хранилищем версии 2.4.1, что даже в переписку вступать сил нет!
Ну должно там на входе генерироваться исключение, для всего что не строка. Ну или пиклеваться-распиклевываться -
Июнь 7, 2012, 10:02 д.п., спустя 6 минут 15 секунд
=)https://smappi.org/ - платформа по созданию API на все случаи жизни -
Июнь 7, 2012, 10:40 д.п., спустя 37 минут 47 секунд
adw0rd,
Тебя рассмешило "пиклеваться-распиклевываться" ? :)
Я написал - сам офигел. Правильнее наверное "запиклёвываться-распиклёвываться" -
-
Июнь 9, 2012, 2:05 п.п., спустя 2 дня 3 часа 18 минут
А в эрланге такая же хуйня, кстати
2> {ok, C} = eredis:start_link().
{ok,<0.36.0>}
3> eredis:q(C, ["SET", "foo", {"bar", "baz", [1,2,3]}]).
{ok,<<"OK">>}
4> eredis:q(C, ["GET", "foo"]).
{ok,<<131,104,3,107,0,3,98,97,114,107,0,3,98,97,122,107,
0,3,1,2,3>>}
Кто не понял - сериализуется в бинарную строку… Короче динамическая типизация - зло.
Хаскель этот бред не то что не скомпилировал бы, а нахуй бы послал ещё в процессе, когда программист попытался бы так подумать.
ЗЫ: а чего подсветка только под быдлоязыки?
Пожалуйста, авторизуйтесь, чтобы написать комментарий!