Comments (7)
Sorry to comment on a closed issue. After reading @cjproud's comment, my understanding is that redis and therefore django-redis will automatically use the hiredis parser if hiredis is installed.
Therefore I think it would be better if the django-redis docs removed the suggestion to set PARSER_CLASS
. We could keep a note about removing before upgrading to redis-py >= 5 to avoid errors.
I'd be happy to draft a PR if there's agreement.
from django-redis.
I've noticed this issue as well. @jacklinke's proposed fix of changing redis.connection.HiredisParser
to redis.connection._HiredisParser
within the cache portion of the Django settings fixed the issue for me 👍
from django-redis.
@cjproud yep, it's reflected in the docs from #677
Now that it's resolved I'll close out this issue.
from django-redis.
Please see my issue at redist-py with a note on how to resolve this issue when using djano-redis with redis-py 5.0.0.
The docs here should probably be updated to reflect the change as well.
from django-redis.
would be nice to make it automatic based on the version of redis-py
... is anyone open to make a PR for it? otherwise I can step in
from django-redis.
@WisdomPill I can see at L8 of django_redis/pool.py
the following line which imports a constant, DefaultParser
, from redis-py
:
from redis.connection import DefaultParser, to_bool
DefaultParser
is defined in redis-py/redis/connection.py
as:
if HIREDIS_AVAILABLE:
DefaultParser = _HiredisParser
else:
DefaultParser = _RESP2Parser
so I'm not sure anything has to be done other than the Django projects that explicitly call the HiredisParser
should be changed to _HiredisParser
(or DefaultParser
) - which is reflected in the docs change? I could be missing something here!
from django-redis.
I can confirm that redis-py uses hiredis automatically as the parser if it's available, so there's no need for the docs to suggest using it explicitly in the settings.
from django-redis.
Related Issues (20)
- Connection Pooling doesn't work as intended HOT 1
- Pytest 7.0 compatibility HOT 1
- Drop django 4.0
- Drop support for django 3.2 HOT 1
- How to configure and connect redis cluster correctly? HOT 2
- Django `TIMEOUT` setting not working as expected HOT 2
- Which timezone wil it take? system timezone or django timezone HOT 1
- Why Django Redis does not raise exception while connecting to Redis Server with SSL param equal string "False"
- `Expire` method fails when using `DEFAULT_TIMEOUT` HOT 1
- Getting/Setting occasionally extremely slow HOT 5
- django requirements update
- Add NX, XX, GT and LT to expire and pexpire HOT 2
- Multiple redis caches with fallback mechanism HOT 1
- Is it necessary to get coverage of tests directory? HOT 2
- Implementing HGET
- using redis in django getting connection error HOT 1
- strict_map_key
- Connection refused on Celery health checks HOT 3
- how to support hash ops, such as hset, hget...
- Reauthentication with Azure AD / Entra ID
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-redis.