必看
我觉得作为新时代的仙男~OVO,上班这方面,上班是不可能上班的,这辈子不可能上班的。做生意又不会
做,就是逛csdn,才能维持的了生活这样子,进csdn感觉像回家一样,在csdn里的感觉比家里感觉好多了!
里面个个都是人才,说话又好听,我超喜欢里面的。
好了,废话有点多( ^_^ )/拜拜,下面直接讲讲redis的操作~~~~啥?Σ( ° △ °|||)︴你问我怎么就开始操作了,下
载和安装呢?当然没有啦哼(ˉ(∞)ˉ)唧,百度打开搜出来一堆一堆的!那就这样吧~在爱都曲终人……(๑•̀ㅂ•́)و✧
redis使用
redis提供了5个数据类型,这个要知道(≧▽≦)/~
String
第一个就是各位java中接触的第一个复杂数据类型(づ ̄3 ̄)づ╭❤~没错!就是String,它在redis中是用的
最多的~~
来了解一下基本操作,它们分别是set、get、del,没错,就是增删改查o(≧v≦)o。是不是感觉没有“改”这个操
作,修改一条数据的value,只需要用set就可以完成,就是找到要修改的数据的KEY,然后”set key 修改的值
“这样就可以完成“改”了( ⊙o⊙ )千真万确
咳咳,废话多了点,下面列一下用法:
set key value -----这个用来保存一条数据的,比如set name 张三,就可以向redis中添加一条key为name值为
张三的数据
get key -----这个就是查呗,没啥好说的
del key -----这个就是删呗,更没啥好说的
( ̄_, ̄ )没错,就是懒
Hash
Hash也差不多就是那么回事吧!其实就是个HashMap,可能有仙男仙女要问了:我看第一个String其实也是
一个Map啊!都是key/value的形式~
没错,为了加以区分redis特别把Hash这个数据类型做成了2个Map︿( ̄︶ ̄)︿,大概,应该,可能,没错的
话是这样的
上图可以说是很直观了啊(๑•̀ㅂ•́)و✧,啥?没懂啊,那就文字在说一遍吧╮(╯▽╰)╭,
也就是说,Redis中Hash是以key来存一个Key/Value的,也许它有点像JavaBean?可以吧第一个Key理解为类
名,第二个key就是他的成员属性,然后值就是new的时候传入的参数,或者get/set?应该吧
额!你说怎么操作?哦,忘了哼(ˉ(∞)ˉ)唧,下面是基本的操作
hset key field value -----这个呢就是向redis中存一个数据,比如 hset user name 小明
hget key field -----这个就是查呗,它还有个大哥叫hgetall key,它可以根据key来查,它大哥可以一下查所有
hdel key field -----这个就删呗,没啥好说的啊
List
其实List是一个LinkList,然后呢它是一个双向链表(悄悄的说:就是两边都可以插入数据,偷偷告诉你,它
可以作为栈,队列,有限集合,消息队列来使用哦),List呢他是有序的,可以重复的,可以通过下标获取
value的,这个应该没学过redis也知道的。然后就是操作了!!!
lpush/rpush values-----这两个兄弟呢一个可以从左边插入一个可以从右边插入,values这个s很关键,代表它
可以一次放多个,来个例子 lpush mylist 1 2 3 4 5 men a 这样的形式都可以的
注意:在 Redis 2.4 版本以前的 LPUSH 命令,都只接受单个 value 值。
lrange key start end -----这个就是查询了没简写应该是List Range(我这么认为的)就是列表范围嘛,一般呢
都是0开始-1结束就可以查出全部,当然你如果知道你要查的范围你当然可以不用0到-1
lpop/rpop -----它们也是左右兄弟,就是弹出(删除)嘛。
Set
我们都知道set是无序不重复的集合(java里面),所以在redis里面也是一样的,废话不多说,直接上操作
sadd key val1 val2 -----顾名思义,就是添加一个或者多个元素
smembers key -----它可以查出key中set的所有的元素
srem key val1 val2 -----这个就移除一个或多个!
SortedSet
顾名思义,sorted set有序集合,它有个比较有意思的东西,”分数“(score),sortedset的排序是根据它的分
数来排的,分数越低越靠前,但是它也一样的不能有重复的元素。
zadd key score1 val1 score2 val2 ----- zadd这个命令就是添加了,他和set一样可以一次添加多个值!
zrange key start end -----和list一样是以范围来查询元素的
zrem key val1 val2 -----移除一个或多个元素!!!
好了,上面就是基本操作方式了,那下面直接来个小案例
这个案例是我自己的一个小经验
场景:开发前没有想用缓存的,开发中的时候突然让加缓存,但是代码都快写完了,怎么办?
方法:redis+Spring aop解决!!!!
步骤:
第一步:
添加2个元注解
import java.lang.annotation.*;