Redis的List命令里没有根据index删除元素的命令,但有的时候业务会需要这个功能。

先上命令:

LSET ListKey index "__deleted__"
LREM ListKey 0 "__deleted__"

也可以用事务管道合并成一次请求

MULTI
LSET ListKey index "__deleted__"
LREM ListKey 0 "__deleted__"
EXEC

先用LSET命令将要删除的索引值置为一个特殊的删除标识,再利用LREM命令将有删除标识的元素删除掉。

另外相关讨论显示,redis之所以没有直接内置这个命令,是因为要考虑分布式情况下 两个或多个端同时发送LREM请求,index是一个但是可能会删掉多个。LSET则只会覆盖掉同一index的值。无法以安全的原子操作来实现它。

最新文章

  1. sshd 指定端口,指定秘钥文件
  2. 获取与Url链接相关的信息
  3. Eclipse插件收集
  4. [麦先生]Laravel框架实现发送短信验证
  5. ecstore与淘宝sdk的autoload加载顺序问题
  6. 枚举Enumerations
  7. springmvc 项目完整示例06 日志–log4j 参数详细解析 log4j如何配置
  8. 获取一个 app 的 URL Scheme 的方法:
  9. [ACM] HDU 5025 Saving Tang Monk (状态压缩,BFS)
  10. iOS开发之iOS7设置状态栏字体颜色
  11. shell脚本学习(一)
  12. Struts2的运行机制简介
  13. web beacon
  14. 解决IAR printf函数输出中文字符乱码问题
  15. 如何自学 Android 的?
  16. Java技术开发中的坑
  17. JDK1.8源码逐字逐句带你理解LinkedHashMap底层
  18. 用VC实现特定编辑框上对回车键响应
  19. Rhythmk 一步一步学 JAVA(4):Spring MVC -之拦截器
  20. hdu1517A Multiplication Game(巴什博弈变形)

热门文章

  1. 【Koa】385- koa框架的快速入门与使用
  2. 【算法】272-每周一练 之 数据结构与算法(Dictionary 和 HashTable)
  3. django生命周期请求l流程图
  4. 防止DataGridview闪烁
  5. 《Dotnet9》系列-开源C# Winform控件库强力推荐
  6. 规范git commit提交记录和版本发布记录
  7. 爬虫(九):python操作MySQL、MongoDB
  8. JavaWeb中实现通过邮箱找回密码
  9. iOS核心动画高级技巧 - 6
  10. oop面向对象【继承、super、this、抽象类】