一个键在原理上能存储512MB的数据(小编没有实验过,一般不存那么多),String类型在二进制上是安全的,可以存储任何数据,但是前提是需要进行序列化。
每个 hash 可以存储 2的32次方 - 1 键值对(429,496,729,6),差不多有40个亿个键值对。
list类型可以用来存储N个有序的字符串,与hash类型在数量上一样,支持存储2^32次方-1个元素。在操作元素上,list可以从两端进行push(插入)和(pop)弹出元素,支持指定范围的元素的读取,支持指定下标的元素的读取或者写入。
Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。需要说明的是,这些操作的时间复杂度为O(1),即常量时间内完成次操作。Set可包含的最大元素数量是4294967295。
是set的一个升级版本,在set的基础上增加了一个顺序属性,这一属性在添加时可以指定,每次指定后,zset会自动重新按新的值调整顺序
相比于set类型, sorted set可以看成是set的一个升级版,在set的基础上新增了一个特性,就是顺序排序,这个特性可以在每次进行数据的操作后,进行重新排序。
7、Stream类型
这是redis5.0最新出来的新的类型,一个非常强大的支持多播的可持久化的消息队列,根据redis作者坦言,stream类型是借鉴了kafka的设计。
目前小编还没找到与redistemplate,如果哪位同学看到了,麻烦评论告知一下。
redisTemplate.hasKey(key)
redisTemplate.opsForValue().get(key)
redisTemplate.delete(key)
redisTemplate.delete(keys)
redisTemplate.dump(key)
redisTemplate.expire(key, timeout, unit)
redisTemplate.expireAt(key, date)
redisTemplate.keys(pattern)
redisTemplate.rename(oldKey, newKey)
redisTemplate.type(key)
redisTemplate.renameIfAbsent(oldKey, newKey)
redisTemplate.randomKey()
redisTemplate.getExpire(key)
redisTemplate.getExpire(key, unit)
redisTemplate.persist(key)
redisTemplate.move(key, dbIndex)
redisTemplate.opsForValue().set(key, value)
redisTemplate.opsForValue().set(key, value, timeout, unit)
redisTemplate.opsForValue().get(key, start, end)
redisTemplate.opsForValue().getAndSet(key, value)
redisTemplate.opsForValue().multiGet(keys)
redisTemplate.opsForValue().append(key, value)
redisTemplate.opsForValue().increment(key, increment)
redisTemplate.opsForValue().increment(key, increment)
redisTemplate.opsForValue().multiSetIfAbsent(valueMap);
Map map = new HashMap();
map.put("1","1");
map.put("2","2");
map.put("3","3");
redisTemplate.opsForValue().multiSet(map);
redisTemplate.opsForValue().size(key)
redisTemplate.opsForValue().set(key, value, offset)
redisTemplate.opsForValue().setIfAbsent(key, value)
redisTemplate.opsForValue().set(key, value, timeout, unit)
redisTemplate.opsForValue().setBit(key, offset, value)
redisTemplate.opsForValue().getBit(key, offset)
redisTemplate.opsForHash().get(key, field)
redisTemplate.opsForHash().entries(key)
redisTemplate.opsForHash().put(key, hashKey, value)
redisTemplate.opsForHash().putAll(key, maps)
redisTemplate.opsForHash().putIfAbsent(key, hashKey, value)
redisTemplate.opsForHash().delete(key, fields)
redisTemplate.opsForHash().hasKey(key, field)
redisTemplate.opsForHash().increment(key, field, increment)
redisTemplate.opsForHash().increment(key, field, delta)
redisTemplate.opsForHash().keys(key)
redisTemplate.opsForHash().size(key)
redisTemplate.opsForHash().values(key)
redisTemplate.opsForHash().scan(key, options)
redisTemplate.opsForList().index(key, index)
redisTemplate.opsForList().range(key, start, end)
redisTemplate.opsForList().leftPush(key, value)
redisTemplate.opsForList().leftPushAll(key, value)
redisTemplate.opsForList().leftPushIfPresent(key, value)
redisTemplate.opsForList().leftPush(key, pivot, value)
redisTemplate.opsForList().rightPush(key, value)
redisTemplate.opsForList().rightPushAll(key, value)
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)
redisTemplate.opsForList().remove(key, index, value)
redisTemplate.opsForList().trim(key, start, end)
redisTemplate.opsForList().size(key)
redisTemplate.opsForSet().add(key, values)
redisTemplate.opsForSet().remove(key, values)
redisTemplate.opsForSet().pop(key)
redisTemplate.opsForSet().size(key)
redisTemplate.opsForSet().isMember(key, value)
redisTemplate.opsForSet().intersect(key, otherKey)
redisTemplate.opsForSet().intersectAndStore(key, otherKey, destKey)
redisTemplate.opsForSet().intersectAndStore(key, otherKeys, destKey)
redisTemplate.opsForSet().union(key, otherKeys)
redisTemplate.opsForSet().unionAndStore(key, otherKey, destKey)
redisTemplate.opsForSet().difference(key, otherKeys)
redisTemplate.opsForSet().differenceAndStore(key, otherKey, destKey)
redisTemplate.opsForSet().randomMember(key)
redisTemplate.opsForSet().members(key)
redisTemplate.opsForSet().randomMembers(key, count)
redisTemplate.opsForSet().distinctRandomMembers(key, count)
redisTemplate.opsForSet().scan(key, options)
redisTemplate.opsForZSet().add(key, value, score)
redisTemplate.opsForZSet().remove(key, values)
redisTemplate.opsForZSet().incrementScore(key, value, delta)
redisTemplate.opsForZSet().rank(key, value)
redisTemplate.opsForZSet().reverseRank(key, value)
redisTemplate.opsForZSet().reverseRangeWithScores(key, start,end)
redisTemplate.opsForZSet().reverseRangeByScore(key, min, max)
redisTemplate.opsForZSet().reverseRangeByScoreWithScores(key, min, max)
redisTemplate.opsForZSet().reverseRangeByScore(key, min, max, start, end)
redisTemplate.opsForZSet().count(key, min, max)
redisTemplate.opsForZSet().size(key)
redisTemplate.opsForZSet().zCard(key)
redisTemplate.opsForZSet().score(key, value)
redisTemplate.opsForZSet().removeRange(key, start, end)
redisTemplate.opsForZSet().removeRangeByScore(key, min, max)
redisTemplate.opsForZSet().unionAndStore(key, otherKey, destKey)
redisTemplate.opsForZSet().intersectAndStore(key, otherKey, destKey)