通过该帮助命令就可以看到Redis的通用命令。
常见的有下面这几种。
- KEYS 查看符合模板的所有key
后面KEY跟的东西可以去变,比如说a*就是查询a开头的key。但是不建议在生产环境设备上使用,因为redis是单线程的,并且模糊查询给机器带来的负担是比较大的。
- DEl 删除一个指定的key
这样就会删除一个name键。若是DEL key1 key2 key3,就是删除三个key,返回的结果是删除成功的个数。
- EXITS 判断key是否存在
存在的话返回1,不存在的情况返回0
- EXPIRE 给一个key设置有效期,有效期到期的时候,key会自动的被删除
这就给key设置了3秒的生存期,三秒到了之后就会进行删除。想要看key还剩下多少秒进行存活可以使用TTL key命令来看,返回-1代表永久存在。
Redis是一个Key-value的数据库,Key一般是String类型,但是Value的类型是多种多样的。
String
String类型,也就是字符串类型,是Redis当中最简单的存储类型,他的Value是字符串,根据字符串类型的不同可以分为三类,String:普通字符串,int:整数类型,可以自增自减,float:浮点类型,可以自增自减。
下面是常见的String命令
Redis的key允许有多个单词形成层级结构,多个单词之间使用‘:’隔开,格式如下
可以看到形成了层级结构
Hash
Hash类型,也叫散列,其Value是一个无序结构,类似于Java当中的HashMap结构。String类型是将对象序列化为JSON字符串之后存储,当需要修改对象的某个字段的时候很不方便。
Hash可以将对象的每个字段独立存储,可以针对单个字段进行CRUD
下面是Hash的常用命令
List
Redis当中的List类型与Java当中的LinkedList类似,可以看做一个双向链表结构,可以正向检索,也可以反向检索。
他是有序的,元素可以重复,插入和删除快,查询速度一般,通常用于存储有序数据
下面是一些常用命令
BLPOP和BRPOP不会立即返回nil,而是会等待一段时间,类似于阻塞队列的样子。
Set
Redis当中的Set结构与Java当中的HashSet类似,可以看做是一个value为null的HashMap,具备与HashMap类似的特征,比如无序,元素不可重复,查找快,支持交集,并集,差集等功能。
下面是常见的命令
案例练习
SortedSet
Resid 的SortSet是一个可排序的集合,与Java当中的TreeSet有些类似,但是底层的数据结构差距缺很大。SortSet的每一个元素都带有一个score属性,可以基于score属性对元素排序,底层的是一个跳表(SkipList)加hash表。
SortSet具有可排序,查询快,元素不重复的特点。
下面是常见命令
如果想达到降序的目的就在Z后面添加REV即可,比如ZREVRANK就是升序排名,以此类推…
连接
是 JUnit 测试框架中的一个注解,用于标记在每个测试方法执行之前需要运行的代码。这个注解通常用于设置测试环境、初始化测试数据或者执行一些前置条件检查,以确保每个测试方法都能在一个干净、一致的状态下运行
测试
测试后释放资源
坏处以及处理措施
Jedis本身是线程不安全的,并且频繁的创建和销毁线程连接会有性能损耗,因此我们推荐使用Jedis连接池来替代Jedis的直连方式
SpringData是Spring当中数据操作的模块,包括对各种数据库的集成,其中对Redis的集成模块就叫做SpringDataRedis。
先对该项目进行配置,引入依赖
编写匹配文件
进行代码测试
返回值成功,测试成功。
但是我们进入Redis时会发现变成这样子
这是因为java程序当中存入的key和value会被当成对象,被redis底层的默认序列化方法:jdk序列化工具jdkSerializationRedisSerialliszer
jdk的序列化方式是将数据转化为字节然后再存入redis当中。
我们可以通过改变RedisTemplate的序列化方式来解决问题。
的序列化
template.setKeySerializer(RedisSerializer.string());
template.setHashKeySerializer(RedisSerializer.string());
//设置Value的序列化
template.setValueSerializer(jackson2JsonRedisSerializer);
template.setHashValueSerializer(jackson2JsonRedisSerializer);
//返回
return template;
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/hd-yjs/75772.html