Skip to content

Commit

Permalink
added hincrbyfloat method
Browse files Browse the repository at this point in the history
  • Loading branch information
amirreza8002 committed Dec 17, 2024
1 parent 633516e commit ea5fd51
Show file tree
Hide file tree
Showing 4 changed files with 43 additions and 0 deletions.
1 change: 1 addition & 0 deletions django_valkey/async_cache/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ class AsyncValkeyCache(BaseValkeyCache[AsyncDefaultClient, AValkey]):
hmget = BaseValkeyCache.ahmget

hincrby = BaseValkeyCache.ahincrby
hincrbyfloat = BaseValkeyCache.ahincrbyfloat

hlen = BaseValkeyCache.ahlen

Expand Down
18 changes: 18 additions & 0 deletions django_valkey/async_cache/client/default.py
Original file line number Diff line number Diff line change
Expand Up @@ -1201,6 +1201,24 @@ async def hincrby(

ahincrby = hincrby

async def hincrbyfloat(
self,
name: str,
key: str,
amount: float = 1.0,
version: int | None = None,
client: AValkey | Any | None = None,
) -> float:
client = await self._get_client(write=True, client=client)
nkey = await self.make_key(key, version=version)
try:
value = await client.hincrbyfloat(name, nkey, amount)
except _main_exceptions as e:
raise ConnectionInterrupted(connection=client) from e
return value

ahincrbyfloat = hincrbyfloat

async def hlen(self, name: str, client: AValkey | Any | None = None) -> int:
"""
Return the number of items in hash name.
Expand Down
8 changes: 8 additions & 0 deletions django_valkey/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -404,6 +404,14 @@ def hincrby(self, *args, **kwargs) -> int:
async def ahincrby(self, *args, **kwargs) -> int:
return await self.client.ahincrby(*args, **kwargs)

@omit_exception
def hincrbyfloat(self, *args, **kwargs) -> float:
return self.client.hincrbyfloat(*args, **kwargs)

@omit_exception
async def ahincrbyfloat(self, *args, **kwargs) -> float:
return await self.client.ahincrbyfloat(*args, **kwargs)

@omit_exception
def hlen(self, *args, **kwargs) -> int:
return self.client.hlen(*args, **kwargs)
Expand Down
16 changes: 16 additions & 0 deletions django_valkey/base_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -1291,6 +1291,22 @@ def hincrby(
raise ConnectionInterrupted(connection=client) from e
return value

def hincrbyfloat(
self,
name: str,
key: str,
amount: float = 1.0,
version: int | None = None,
client: Backend | Any | None = None,
) -> float:
client = self._get_client(write=True, client=client)
nkey = self.make_key(key, version=version)
try:
value = client.hincrbyfloat(name, nkey, amount)
except _main_exceptions as e:
raise ConnectionInterrupted(connection=client) from e
return value

def hlen(
self,
name: str,
Expand Down

0 comments on commit ea5fd51

Please sign in to comment.