搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

redis高级使用

[复制链接]
查看: 20|回复: 0

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32634
发表于 2020-1-15 03:45 | 显示全部楼层 |阅读模式
Redis常用的数据典范: String
Hash

List

Set

zSet

Sorted set
String典范判定能否有key所对应的值,有则返回true,没有则返回falseredisTemplate.hasKey(key)
有则取出key值所对应的值redisTemplate.opsForValue().get(key)
删除单个key值redisTemplate.delete(key)
批量删除keyredisTemplate.delete(keys) //其中keys:Collection keys
将当前传入的key值序列化为byte[]典范redisTemplate.dump(key)
设备过期时候public Boolean expire(String key, long timeout, TimeUnit unit) {    return redisTemplate.expire(key, timeout, unit); } public Boolean expireAt(String key, Date date) {    return redisTemplate.expireAt(key, date);  }查找婚配的key值,返回一个Set聚集典范public Set getPatternKey(String pattern) {    return redisTemplate.keys(pattern);}点窜redis中key的称号 public void renameKey(String oldKey, String newKey) {    redisTemplate.rename(oldKey, newKey);}返回传入key所存储的值的典范public DataType getKeyType(String key) {    return redisTemplate.type(key);}假如旧值存在时,将旧值改成新值public Boolean renameOldKeyIfAbsent(String oldKey, String newKey) {    return redisTemplate.renameIfAbsent(oldKey, newKey);}从redis中随机取出一个keyredisTemplate.randomKey()
返回当前key所对应的残剩过期时候 public Long getExpire(String key) {    return redisTemplate.getExpire(key);}返回残剩过期时候而且指按时候单元public Long getExpire(String key, TimeUnit unit) {    return redisTemplate.getExpire(key, unit);}将key长久化保存public Boolean persistKey(String key) {    return redisTemplate.persist(key);}将当前数据库的key移动到指定redis中数据库傍边public Boolean moveToDbIndex(String key, int dbIndex) {    return redisTemplate.move(key, dbIndex);}设备当前的key以及value值redisTemplate.opsForValue().set(key, value)
设备当前的key以及value值而且设备过期时候redisTemplate.opsForValue().set(key, value, timeout, unit)
返回key中字符串的子字符public String getCharacterRange(String key, long start, long end) {    return redisTemplate.opsForValue().get(key, start, end);}将旧的key设备为value,而且返回旧的keypublic String setKeyAsValue(String key, String value) {    return redisTemplate.opsForValue().getAndSet(key, value);}批量获得值 public List multiGet(Collection keys) {    return redisTemplate.opsForValue().multiGet(keys); }在原本的值底子上新增字符串到结尾redisTemplate.opsForValue().append(key, value)
以增量的方式将double值存储在变量中 public Double incrByDouble(String key, double increment) {    return redisTemplate.opsForValue().increment(key, increment); }经过increment(K key, long delta)方式以增量方式存储long值(正值则自增,负值则自减)public Long incrBy(String key, long increment) {    return redisTemplate.opsForValue().increment(key, increment);}假如对应的map聚集称号不存在,则增加否则不做点窜Map valueMap = new HashMap();  valueMap.put("valueMap1","map1");  valueMap.put("valueMap2","map2");  valueMap.put("valueMap3","map3");  redisTemplate.opsForValue().multiSetIfAbsent(valueMap); 设备map聚集到redisMap valueMap = new HashMap();  valueMap.put("valueMap1","map1");  valueMap.put("valueMap2","map2");  valueMap.put("valueMap3","map3");  redisTemplate.opsForValue().multiSet(valueMap);  获得字符串的长度redisTemplate.opsForValue().size(key)
用 value 参数覆写给定 key 所贮存的字符串值,从偏移量 offset 起头redisTemplate.opsForValue().set(key, value, offset)重新设备key对应的值,假如存在返回false,否则返回trueredisTemplate.opsForValue().setIfAbsent(key, value)将值 value 关联到 key,并将 key 的过期时候设为 timeoutredisTemplate.opsForValue().set(key, value, timeout, unit)
将二进制第offset位值变成valueredisTemplate.opsForValue().setBit(key, offset, value)对key所贮存的字符串值,获得指定偏移量上的位(bit)redisTemplate.opsForValue().getBit(key, offset)Hash典范Redis hash 是一个string典范的field和value的映照表,hash特别适适用于存储工具。
Redis 中每个 hash 可以存储 2^32 - 1 键值对(40多亿)。获得变量中的指定map键能否有值,假如存在该map键则获得值,没有则返回null。redisTemplate.opsForHash().get(key, field)获得变量中的键值对public Map hGetAll(String key) {    return redisTemplate.opsForHash().entries(key);}新增hashMap值redisTemplate.opsForHash().put(key, hashKey, value)
以map聚集的形式增加键值对public void hPutAll(String key, Map maps) {    redisTemplate.opsForHash().putAll(key, maps);}仅当hashKey不存在时才设备public Boolean hashPutIfAbsent(String key, String hashKey, String value) {    return redisTemplate.opsForHash().putIfAbsent(key, hashKey, value);}删除一个大要多个hash表字段public Long hashDelete(String key, Object... fields) {    return redisTemplate.opsForHash().delete(key, fields);}检察hash表中指定字段能否存在public boolean hashExists(String key, String field) {    return redisTemplate.opsForHash().hasKey(key, field);}给哈希表key中的指定字段的整数值加上增量incrementpublic Long hashIncrBy(String key, Object field, long increment) {    return redisTemplate.opsForHash().increment(key, field, increment);} public Double hIncrByDouble(String key, Object field, double delta) {    return redisTemplate.opsForHash().increment(key, field, delta);}获得全数hash表中字段redisTemplate.opsForHash().keys(key)获得hash表中字段的数目redisTemplate.opsForHash().size(key)
获得hash表中存在的全数的值public List hValues(String key) {    return redisTemplate.opsForHash().values(key);}婚配获得键值对,ScanOptions.NONE为获得全数键对public Cursor hashScan(String key, ScanOptions options) {    return redisTemplate.opsForHash().scan(key, options);}List典范
经过索引获得列表中的元素redisTemplate.opsForList().index(key, index)
获得列表指定范围内的元素(start起头位置, 0是起头位置,end 竣事位置, -1返回全数)redisTemplate.opsForList().range(key, start, end)存储在list的头部,即增加一个就把它放在最前面的索引处redisTemplate.opsForList().leftPush(key, value)把多个值存入List中(value可所以多个值,也可以是一个Collection value)redisTemplate.opsForList().leftPushAll(key, value)List存在的时候再加入redisTemplate.opsForList().leftPushIfPresent(key, value)假如pivot处值存在则在pivot前面增加redisTemplate.opsForList().leftPush(key, pivot, value)依照先辈先出的次第来增加(value可所以多个值,大如果Collection var2)redisTemplate.opsForList().rightPush(key, value)redisTemplate.opsForList().rightPushAll(key, value)在pivot元素的右侧增加值redisTemplate.opsForList().rightPush(key, pivot, value)设备指定索引处元素的值redisTemplate.opsForList().set(key, index, value)移除并获得列表中第一个元素(假如列表没有元素会阻塞列表直到期待超时或发现可弹出元素为止)redisTemplate.opsForList().leftPop(key)redisTemplate.opsForList().leftPop(key, timeout, unit)移除并获得列表末端一个元素redisTemplate.opsForList().rightPop(key)redisTemplate.opsForList().rightPop(key, timeout, unit)从一个行列的右侧弹出一个元素并将这个元素放入另一个指定行列的最左侧redisTemplate.opsForList().rightPopAndLeftPush(sourceKey, destinationKey)redisTemplate.opsForList().rightPopAndLeftPush(sourceKey, destinationKey, timeout, unit)删除集会合值即是value的元素(index=0, 删除全数值即是value的元素; index>0, 重新部起头删除第一个值即是value的元素; index
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 全椒百姓网-全椒知名**,发布及时新鲜的全椒新闻资讯 生活信息 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表