Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ client = MetaClient(("localhost", 11211))
# get returns a GetResult with rich metadata
result = client.get(
"key",
return_cas=True,
return_ttl=True,
return_hit_before=True,
with_cas=True,
with_ttl=True,
with_hit_before=True,
)
if result is not None:
print(result.value)
Expand Down
2 changes: 1 addition & 1 deletion memcache/async_memcache.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ async def gets(self, key: Union[bytes, str]) -> Optional[Tuple[Any, int]]:
:param key: The key to retrieve
:return: A tuple of (value, cas_token) or None if key doesn't exist
"""
r = await self._meta.get(key, return_cas=True)
r = await self._meta.get(key, with_cas=True)
if r is None:
return None
if r.cas_token is None:
Expand Down
30 changes: 15 additions & 15 deletions memcache/experiment/async_meta_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,11 +91,11 @@ async def get(
self,
key: Union[str, bytes],
*,
return_cas: bool = False,
return_ttl: bool = False,
return_last_access: bool = False,
return_size: bool = False,
return_hit_before: bool = False,
with_cas: bool = False,
with_ttl: bool = False,
with_last_access: bool = False,
with_size: bool = False,
with_hit_before: bool = False,
update_ttl: Optional[int] = None,
no_lru_bump: bool = False,
vivify_on_miss_ttl: Optional[int] = None,
Expand All @@ -104,15 +104,15 @@ async def get(
) -> Optional[GetResult[Any]]:
key_bytes = self._to_bytes(key)
flags: List[bytes] = [b"v", b"f"]
if return_cas:
if with_cas:
flags.append(b"c")
if return_ttl:
if with_ttl:
flags.append(b"t")
if return_last_access:
if with_last_access:
flags.append(b"l")
if return_size:
if with_size:
flags.append(b"s")
if return_hit_before:
if with_hit_before:
flags.append(b"h")
if update_ttl is not None:
flags.append(b"T%d" % update_ttl)
Expand All @@ -138,15 +138,15 @@ async def get(
gr.is_stale = parsed.get("is_stale", False)
gr.won_recache = parsed.get("won_recache", False)
gr.already_won = parsed.get("already_won", False)
if return_cas:
if with_cas:
gr.cas_token = parsed.get("cas_token")
if return_ttl:
if with_ttl:
gr.ttl = parsed.get("ttl")
if return_last_access:
if with_last_access:
gr.last_access = parsed.get("last_access")
if return_size:
if with_size:
gr.size = parsed.get("size")
if return_hit_before:
if with_hit_before:
gr.hit_before = parsed.get("hit_before")
if "key" in parsed:
gr.key = parsed["key"]
Expand Down
30 changes: 15 additions & 15 deletions memcache/experiment/meta_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,11 +116,11 @@ def get(
self,
key: Union[str, bytes],
*,
return_cas: bool = False,
return_ttl: bool = False,
return_last_access: bool = False,
return_size: bool = False,
return_hit_before: bool = False,
with_cas: bool = False,
with_ttl: bool = False,
with_last_access: bool = False,
with_size: bool = False,
with_hit_before: bool = False,
update_ttl: Optional[int] = None,
no_lru_bump: bool = False,
vivify_on_miss_ttl: Optional[int] = None,
Expand All @@ -129,15 +129,15 @@ def get(
) -> Optional[GetResult[Any]]:
key_bytes = self._to_bytes(key)
flags: List[bytes] = [b"v", b"f"]
if return_cas:
if with_cas:
flags.append(b"c")
if return_ttl:
if with_ttl:
flags.append(b"t")
if return_last_access:
if with_last_access:
flags.append(b"l")
if return_size:
if with_size:
flags.append(b"s")
if return_hit_before:
if with_hit_before:
flags.append(b"h")
if update_ttl is not None:
flags.append(b"T%d" % update_ttl)
Expand All @@ -163,15 +163,15 @@ def get(
gr.is_stale = parsed.get("is_stale", False)
gr.won_recache = parsed.get("won_recache", False)
gr.already_won = parsed.get("already_won", False)
if return_cas:
if with_cas:
gr.cas_token = parsed.get("cas_token")
if return_ttl:
if with_ttl:
gr.ttl = parsed.get("ttl")
if return_last_access:
if with_last_access:
gr.last_access = parsed.get("last_access")
if return_size:
if with_size:
gr.size = parsed.get("size")
if return_hit_before:
if with_hit_before:
gr.hit_before = parsed.get("hit_before")
if "key" in parsed:
gr.key = parsed["key"]
Expand Down
2 changes: 1 addition & 1 deletion memcache/memcache.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ def gets(self, key: Union[bytes, str]) -> Optional[Tuple[Any, int]]:
:param key: The key to retrieve
:return: A tuple of (value, cas_token) or None if key doesn't exist
"""
r = self._meta.get(key, return_cas=True)
r = self._meta.get(key, with_cas=True)
if r is None:
return None
if r.cas_token is None:
Expand Down
28 changes: 14 additions & 14 deletions tests/test_async_meta_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,18 @@ async def test_get_update_ttl(client: AsyncMetaClient) -> None:


@pytest.mark.asyncio
async def test_get_return_cas(client: AsyncMetaClient) -> None:
async def test_get_with_cas(client: AsyncMetaClient) -> None:
await client.set("gr_cas", "v")
r = await client.get("gr_cas", return_cas=True)
r = await client.get("gr_cas", with_cas=True)
assert r is not None
assert isinstance(r.cas_token, int)
assert r.cas_token > 0


@pytest.mark.asyncio
async def test_get_return_ttl(client: AsyncMetaClient) -> None:
async def test_get_with_ttl(client: AsyncMetaClient) -> None:
await client.set("gr_ttl", "v", expire=3600)
r = await client.get("gr_ttl", return_ttl=True)
r = await client.get("gr_ttl", with_ttl=True)
assert r is not None
assert r.ttl is not None
assert r.ttl > 0
Expand All @@ -97,28 +97,28 @@ async def test_get_no_ttl_requested(client: AsyncMetaClient) -> None:


@pytest.mark.asyncio
async def test_get_return_size(client: AsyncMetaClient) -> None:
async def test_get_with_size(client: AsyncMetaClient) -> None:
await client.set("gr_size", b"hello")
r = await client.get("gr_size", return_size=True)
r = await client.get("gr_size", with_size=True)
assert r is not None
assert r.size == 5


@pytest.mark.asyncio
async def test_get_return_hit_before(client: AsyncMetaClient) -> None:
async def test_get_with_hit_before(client: AsyncMetaClient) -> None:
await client.set("gr_hit", "v")
r1 = await client.get("gr_hit", return_hit_before=True)
r1 = await client.get("gr_hit", with_hit_before=True)
assert r1 is not None
assert r1.hit_before is False
r2 = await client.get("gr_hit", return_hit_before=True)
r2 = await client.get("gr_hit", with_hit_before=True)
assert r2 is not None
assert r2.hit_before is True


@pytest.mark.asyncio
async def test_get_return_last_access(client: AsyncMetaClient) -> None:
async def test_get_with_last_access(client: AsyncMetaClient) -> None:
await client.set("gr_la", "v")
r = await client.get("gr_la", return_last_access=True)
r = await client.get("gr_la", with_last_access=True)
assert r is not None
assert r.last_access is not None
assert isinstance(r.last_access, int)
Expand Down Expand Up @@ -257,7 +257,7 @@ async def test_prepend_vivify(client: AsyncMetaClient) -> None:
@pytest.mark.asyncio
async def test_cas_success(client: AsyncMetaClient) -> None:
await client.set("cas_key", "initial")
r = await client.get("cas_key", return_cas=True)
r = await client.get("cas_key", with_cas=True)
assert r is not None
assert r.cas_token is not None
assert await client.cas("cas_key", "updated", r.cas_token) is True
Expand All @@ -269,7 +269,7 @@ async def test_cas_success(client: AsyncMetaClient) -> None:
@pytest.mark.asyncio
async def test_cas_conflict(client: AsyncMetaClient) -> None:
await client.set("cas_conf", "v")
r = await client.get("cas_conf", return_cas=True)
r = await client.get("cas_conf", with_cas=True)
assert r is not None
assert r.cas_token is not None
await client.set("cas_conf", "modified")
Expand Down Expand Up @@ -304,7 +304,7 @@ async def test_delete_missing(client: AsyncMetaClient) -> None:
@pytest.mark.asyncio
async def test_delete_with_cas(client: AsyncMetaClient) -> None:
await client.set("del_cas", "v")
r = await client.get("del_cas", return_cas=True)
r = await client.get("del_cas", with_cas=True)
assert r is not None
assert r.cas_token is not None
assert await client.delete("del_cas", cas_token=r.cas_token) is True
Expand Down
28 changes: 14 additions & 14 deletions tests/test_meta_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,17 +89,17 @@ def test_get_update_ttl(client: MetaClient) -> None:
assert r.value == "v"


def test_get_return_cas(client: MetaClient) -> None:
def test_get_with_cas(client: MetaClient) -> None:
client.set("gr_cas", "v")
r = client.get("gr_cas", return_cas=True)
r = client.get("gr_cas", with_cas=True)
assert r is not None
assert isinstance(r.cas_token, int)
assert r.cas_token > 0


def test_get_return_ttl(client: MetaClient) -> None:
def test_get_with_ttl(client: MetaClient) -> None:
client.set("gr_ttl", "v", expire=3600)
r = client.get("gr_ttl", return_ttl=True)
r = client.get("gr_ttl", with_ttl=True)
assert r is not None
assert r.ttl is not None
assert r.ttl > 0
Expand All @@ -112,28 +112,28 @@ def test_get_no_ttl_requested(client: MetaClient) -> None:
assert r.ttl is None


def test_get_return_size(client: MetaClient) -> None:
def test_get_with_size(client: MetaClient) -> None:
client.set("gr_size", b"hello")
r = client.get("gr_size", return_size=True)
r = client.get("gr_size", with_size=True)
assert r is not None
assert r.size == 5


def test_get_return_hit_before(client: MetaClient) -> None:
def test_get_with_hit_before(client: MetaClient) -> None:
client.set("gr_hit", "v")
# First get: not hit before
r1 = client.get("gr_hit", return_hit_before=True)
r1 = client.get("gr_hit", with_hit_before=True)
assert r1 is not None
assert r1.hit_before is False
# Second get: hit before
r2 = client.get("gr_hit", return_hit_before=True)
r2 = client.get("gr_hit", with_hit_before=True)
assert r2 is not None
assert r2.hit_before is True


def test_get_return_last_access(client: MetaClient) -> None:
def test_get_with_last_access(client: MetaClient) -> None:
client.set("gr_la", "v")
r = client.get("gr_la", return_last_access=True)
r = client.get("gr_la", with_last_access=True)
assert r is not None
assert r.last_access is not None
assert isinstance(r.last_access, int)
Expand Down Expand Up @@ -257,7 +257,7 @@ def test_prepend_vivify(client: MetaClient) -> None:

def test_cas_success(client: MetaClient) -> None:
client.set("cas_key", "initial")
r = client.get("cas_key", return_cas=True)
r = client.get("cas_key", with_cas=True)
assert r is not None
assert r.cas_token is not None
assert client.cas("cas_key", "updated", r.cas_token) is True
Expand All @@ -268,7 +268,7 @@ def test_cas_success(client: MetaClient) -> None:

def test_cas_conflict(client: MetaClient) -> None:
client.set("cas_conf", "v")
r = client.get("cas_conf", return_cas=True)
r = client.get("cas_conf", with_cas=True)
assert r is not None
assert r.cas_token is not None
client.set("cas_conf", "modified")
Expand Down Expand Up @@ -299,7 +299,7 @@ def test_delete_missing(client: MetaClient) -> None:

def test_delete_with_cas(client: MetaClient) -> None:
client.set("del_cas", "v")
r = client.get("del_cas", return_cas=True)
r = client.get("del_cas", with_cas=True)
assert r is not None
assert r.cas_token is not None
assert client.delete("del_cas", cas_token=r.cas_token) is True
Expand Down
Loading