-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Using RedisTemplate executePipelined, rightPushAll and lRange behavior #3123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
If you still encounter the same problem, please provide a minimal yet complete sample that reproduces the problem. |
If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed. |
Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue. |
I'm using rightPushAll inside executePipelined like below to put List data into redis list,
And for the code using range to get list data from redis
The above code work nicely, but i notice that instead of storing the elements individually as List<Object, Object, Object, ...>, Redis stored the entire list as a single element, resulting in List<List>.
I ran some tests and confirmed that whether I use executePipelined or not, the command rightPushAll(kxy, rows) produces the same result. However, if I use rightPushAll(kxy, rows.toArray()), the result turns out as expected, something like List<Object, Object, Object, ...>.
Additionally, when retrieving data from the list using range without executePipelined, it fails to fetch the data correctly. But with executePipelined, it retrieves the data as expected. Since all the inserted data is stored within a single element, the retrieved data structure is List<List>.
Is the above behavior expected, or did I make a mistake in how I used it?
The text was updated successfully, but these errors were encountered: