-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Summary of the new feature / enhancement
We had a user that stored a significant amount of data in the cache. They were caching about 65k users and 65k devices in the cache. The result was that the PSU server would starve the host because it was attempting to retrieve and deserialize large CLIXML values from the cached items in the SQL server.
The problem is that the cache cmdlets behave poorly in this scenario. Retrieving a list of the cached items, still retrieves the values so it's not faster. There is also no way to do a wildcard search of cached items so it's hard to group items by a similar key and return all of them.
For example, if a group of users were cached with the User_
prefix in the cache, there would be no way to retrieve all user objects from the cache without first retrieving all cache items, deserializing them, and then filtering them.
Instead, we should be able to support wild cards:
Get-PSUCache -Key "User_*"
This would return all user cache items. Each user would be a single row in the database rather than a large list of items in a single row value column. This would allow SQL to use the Key index rather than bringing all items back to the PSU server and filtering locally.
Proposed technical implementation details (optional)
No response