php redis 删除元素,redisTemplate.delete()不能删除元素

最近在学习redis,使用spring-data-redis的RedisTemplate.delete()方法删除时,添加是成功的,但是不能删除。

代码如下

public abstract class AbstractBaseRedisDao {

@Autowired

protected RedisTemplate redisTemplate;

// public void setRedisTemplate(RedisTemplate redisTemplate) {

// this.redisTemplate = redisTemplate;

// }

public RedisSerializer getRedisSerializer() {

return redisTemplate.getStringSerializer();

}

}

public interface IUserDao {

boolean add(User user);

void delete(String key);

void delete(List keys);

User get(String keyId);

}

@Service

public class UserDao extends AbstractBaseRedisDao implements IUserDao {

public boolean add(final User user) {

boolean result = redisTemplate.execute(new RedisCallback() {

public Boolean doInRedis(RedisConnection redisConnection) throws DataAccessException {

RedisSerializer serializer = getRedisSerializer();

byte[] key = serializer.serialize(user.getId());

byte[] name = serializer.serialize(user.getName());

return redisConnection.setNX(key, name);

}

});

return result;

}

public void delete(String key) {

List list = new ArrayList();

list.add(key);

delete(list);

}

public void delete(List keys) {

redisTemplate.delete(keys);

}

public User get(final String keyId) {

User result = redisTemplate.execute(new RedisCallback() {

public User doInRedis(RedisConnection redisConnection) throws DataAccessException {

RedisSerializer serializer = getRedisSerializer();

byte[] key = serializer.serialize(keyId);

byte[] value = redisConnection.get(key);

if (value == null) {

return null;

}

String name = serializer.deserialize(value);

return new User(keyId, name, null);

}

});

return result;

}

}

配置如下:

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:p="http://www.springframework.org/schema/p"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd">

p:hostName="${redis.host}" p:port="${redis.port}" p:password="${redis.pass}" p:poolConfig-ref="poolConfig" />

测试用例:

public class RedisTest {

private IUserDao userDao;

@Before

public void init() {

ApplicationContext ctx = new ClassPathXmlApplicationContext("case1/applicationContext.xml");

userDao = (IUserDao) ctx.getBean("userDao");

}

@Test

public void testAddUser() {

User user = new User();

user.setId("B");

user.setName("B");

boolean result = userDao.add(user);

Assert.assertTrue(result);

}

@Test

public void testDelete() {

String key = "B";

User user = userDao.get(key);

System.out.println("删除前:" + user);

userDao.delete(key);

user = userDao.get(key);

System.out.println("删除后:" + user);

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式心得:三——命令模式

继续设计模式心得体验——命令模式。 命令模式: 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 一般在命令模式中有三个元素,invoker、command、…

弱水三千 之 统计独立性、统计相关性辨析

序 在随机信号分析中,存在这样一个概念群:不相关、正交、统计独立。 当两个随机过程保持统计独立时,它们必然不相关;但反过来则不一定成立,即不相关的两个随机过程不一定能保持统计独立,唯有高斯过程才是个…

React开发(185):ant design table控制居中和宽度

{ title: 冻结金额, type: price, dataIndex: frozenAmount, align: center, width: 80 },{ title: 钱包状态, dataIndex: statusName, align: center, width: 80 },{ title: 所属商户, dataIndex: platformMerchantName, align: center, width: 80 },

[python] list元素按关键字相加减

python list中的元素按关键字相加或相减: # codingutf-8# 两个list按关键字相加或相减 def ListAdd(list1, list2, bAdd True):if bAdd False:list2 [(k, -v) for (k, v) in list2]d {}list0 list1 list2for (k, v) in list0:d.setdefault(k, 0) # 设置字典元…

Cisco 6509交换机两次更换sup720引擎的过程

1 更换原因 用户的一台Cisco6509交换机,单sup720引擎,使用了一年多的 时间。最近不知道为什么,引擎上外置CF卡的插槽,变形了,无法插入CF卡,只能开个case,作RMA。 2 第一次更换 …

LTRIM、RTRIM和TRIM在ORACLE中的用法:

From: http://www.cnblogs.com/gsk99/archive/2011/04/25/2027359.html LTRIM、RTRIM和TRIM在ORACLE中的用法: 1、LTRIM(C1,C2) 其中C1和C2都可以字符串,例如C1是Miss Liu,C2MisL等等。这是第一个和SQL SERVER不一样的地方。如果记得不错的话…

React开发(186):react 父调用子组件的方法

<BaseTableSearchsearchParams{baseSearchParams}onSearch{this.handleSearch}onRef{(node) > (this.searchRef node)}highSearch{true}/>

php有lambda表达式吗,Python中lambda表达式的简单介绍(附示例)

本篇文章给大家带来的内容是关于Python中lambda表达式的简单介绍(附示例)&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。一&#xff1a;匿名函数的定义lambda parameter_list: expression二&#xff1a;三元表达式条件为真时…

编程个人教训

Matlab 1、生成数据时&#xff0c;多重循环&#xff0c;最起码要把最里面的循环跑一遍&#xff0c;看看生成的图片&#xff0c;和label有没错。确定一下&#xff0c;然后再跑整个程序。 2、跑for循环&#xff0c;卡死在某一个数据上。可以把这个数据单独运行下看看结果 3、生成…

linux命令行快捷键

2019独角兽企业重金招聘Python工程师标准>>> 转自&#xff1a;http://os.chinaitzhe.com/linux/2008-01/119926636930912.html history 显示命令历史列表 ↑(Ctrl p) 显示上一条命令 ↓(Ctrl n) 显示下一条命令 !num 执行命令历史列表的第num条命令 !! 执行上一条…

php css布局技巧,最全的CSS开发常用技巧

css(层叠样式表)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页&#xff0c;还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制&…

守护(后台)进程的创建

/*功能&#xff1a;守护进程的创建后台进程的创建思想&#xff1a;首先父进程创建一个子进程&#xff0c;然后子进程杀死父进程。信号处理所有的工作由子进程来处理。 */ #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <st…

Lucene-3.0.0配置

Lucene-3.0.0配置2009-12-02 21:38一、Lucene开发环境配置step1.Lucene开发包下载step2.Java开发环境配置step3.Tomcat安装step4.Lucene开发环境配置解压下载的lucene-3.0.0.zip&#xff0c;可以看到lucene-core-3.0.0.jar和lucene-demos-3.0.0.jar这两个文件,将其解压(建议放在…

jQuery实现响应式瀑布流 - 实现灯箱效果

在这之前&#xff0c;有写过一篇关于实现瀑布流的文章&#xff0c;后期有人留言提出需要添加灯箱效果的功能&#xff0c;所以这次则讲述下如何实现此功能。由于该篇接上篇写的&#xff1a;jQuery实现响应式瀑布流效果&#xff08;jQueryflex&#xff09;_jquery瀑布流插件-CSDN…

php 特有,PHP单一入口的特有作用

在说单一入口之前&#xff0c;先说说多入口。Discuz!, PHPCMS 2008, DedeCMS 都是采用多入口的结构。多入口&#xff0c;即通过访问不同的 php 文件运行对应的功能。如&#xff1a;/index.php - 网站首页/show.php?id1 - 内容页/list.php?page2 - 列表页/login.php - 用户登录…

我的新发现:AVL树旋转的一个特性

关于AVL树旋转的代码网络上铺天盖地。 一些经典的实现方法如下&#xff1a; AVLTree SingleLeftRotation(AVLTree A) {AVLTree B A->left;A->Left B->Right;B->Right A;A->Height Max(GetHeight(A->Left), GetHeight(A->Right)) 1;B->Height Max…

VC中设置头文件的搜索路径~~

From:http://hi.baidu.com/woaimuxiaoyizhong/blog/item/cc3d260a9b75f21795ca6b2a.html 近日&#xff0c;小弟在研究UCOS VC版的时候&#xff0c;发现它的头文件并没有在当前目录下&#xff0c;却可以精确的找到。我估计一定是&#xff1a;VC编辑器早设置好了&#xff0c;早已…

真是的= =还是对linux不太了解啊

最近很无聊.....得到了3天假期~~~ 于是乎把Ubuntu10.10下载下来安装了 结果第二天root用户就登陆不上了 进入单用户模式后读shower文件发现密码那就一"!" 真是奇怪.... 之前在网上查说passwd命令没加载... 结果明明加载了 改了之后终于用上root权限了 结果又是惨…

php form validator 下单,PHP Form表单验证:PHP form validator使_php

在php网站开发建设中&#xff0c;用户注册、留言是必不可少的功能&#xff0c;用户提交的信息数据都是通过Form表单提交&#xff0c;为了保证数据的完整性、安全性&#xff0c;PHP Form表单验证是过滤数据的首要环节&#xff0c;PHP对表单提交数据的验证方式多种多样&#xff0…

云服务器,价格其实不便宜,但为什么还要用呢

2012年的时候&#xff0c;接触到云服务器&#xff0c;一心想搞个个人网站。当时&#xff0c;云服务器最低配置&#xff0c;1个月55元&#xff0c;1M带宽、1核CPU、512M内存&#xff0c;独立IP。加上&#xff0c;一些优惠&#xff0c;代金券之内的&#xff0c;1年400元左右。自认…