Usage of opsForValue() method in Redis
1. set(K key, V value)
Add a new string type value, key is the key and value is the value.
redisTemplate.opsForValue().set("stringValue","bbb");
2. get(Object key)
Get the value corresponding to the key key.
String stringValue = redisTemplate.opsForValue().get("key")
3. append(K key, String value)
Add a new string to the end based on the original value.
redisTemplate.opsForValue().append("key", "appendValue"); String stringValueAppend = redisTemplate.opsForValue().get("key"); System.out.println("通过append(K key, String value)方法修改后的字符串:"+stringValueAppend);
4. get(K key, long start, long end)
Intercept the value string corresponding to the key key, starting from the start subscript position to the end subscript position (including the end subscript )String.
String cutString = redisTemplate.opsForValue().get("key", 0, 3); System.out.println("通过get(K key, long start, long end)方法获取截取的字符串:"+cutString);
5. getAndSet(K key, V value)
Get the value corresponding to the original key key and reassign the new value.
String oldAndNewStringValue = redisTemplate.opsForValue().getAndSet("key", "ccc"); System.out.print("通过getAndSet(K key, V value)方法获取原来的值:" + oldAndNewStringValue ); String newStringValue = redisTemplate.opsForValue().get("key"); System.out.println("修改过后的值:"+newStringValue);
6. setBit(K key, long offset, boolean value)
The value corresponding to the key key and the ascii code corresponding to the value, at the offset position (counting from left to right) become value.
redisTemplate.opsForValue().setBit("key",1,false); newStringValue = redisTemplate.opsForValue().get("key")+""; System.out.println("通过setBit(K key,long offset,boolean value)方法修改过后的值:"+newStringValue);
7. getBit(K key, long offset)
Determine whether the bit of the ASCII code at the specified position is 1.
boolean bitBoolean = redisTemplate.opsForValue().getBit("key",1); System.out.println("通过getBit(K key,long offset)方法判断指定bit位的值是:" + bitBoolean);
8. size(K key)
Get the length of the specified string
Long stringValueLength = redisTemplate.opsForValue().size("key"); System.out.println("通过size(K key)方法获取字符串的长度:"+stringValueLength);
9. increment(K key, double delta)
to Incrementally store double values in variables.
double stringValueDouble = redisTemplate.opsForValue().increment("doubleKey",5); System.out.println("通过increment(K key, double delta)方法以增量方式存储double值:" + stringValueDouble);
10. increment(K key, long delta)
Store the long value in the variable in an incremental manner.
double stringValueLong = redisTemplate.opsForValue().increment("longKey",6); System.out.println("通过increment(K key, long delta)方法以增量方式存储long值:" + stringValueLong);
11. setIfAbsent(K key, V value)
If the key does not exist, it will be added. If it exists, the existing value will not be changed.
boolean absentBoolean = redisTemplate.opsForValue().setIfAbsent("absentKey","fff"); System.out.println("通过setIfAbsent(K key, V value)方法判断变量值absentValue是否存在:" + absentBoolean); if(absentBoolean){ String absentValue = redisTemplate.opsForValue().get("absentKey")+""; System.out.print(",不存在,则新增后的值是:"+absentValue); boolean existBoolean = redisTemplate.opsForValue().setIfAbsent("absentKey","eee"); System.out.print(",再次调用setIfAbsent(K key, V value)判断absentValue是否存在并重新赋值:" + existBoolean); if(!existBoolean){ absentValue = redisTemplate.opsForValue().get("absentKey")+""; System.out.print("如果存在,则重新赋值后的absentValue变量的值是:" + absentValue);
12.set(K key, V value, long timeout, TimeUnit unit)
Set the expiration time of the variable value.
redisTemplate.opsForValue().set("timeOutKey", "timeOut", 5, TimeUnit.SECONDS); String timeOutValue = redisTemplate.opsForValue().get("timeOutKey")+""; System.out.println("通过set(K key, V value, long timeout, TimeUnit unit)方法设置过期时间,过期之前获取的数据:"+timeOutValue); Thread.sleep(5*1000); timeOutValue = redisTemplate.opsForValue().get("timeOutKey")+""; System.out.print(",等待10s过后,获取的值:"+timeOutValue);
13, set(K key, V value, long offset)
Overwrite the value starting from the specified position.
redisTemplate.opsForValue().set("absentKey","dd",1); String overrideString = redisTemplate.opsForValue().get("absentKey"); System.out.println("通过set(K key, V value, long offset)方法覆盖部分的值:"+overrideString);
14. multiSet(Map extends K,? extends V> map)
Set the map set to redis.
Map valueMap = new HashMap(); valueMap.put("valueMap1","map1"); valueMap.put("valueMap2","map2"); valueMap.put("valueMap3","map3"); redisTemplate.opsForValue().multiSet(valueMap);
15. multiGet(Collection keys)
Get the corresponding value based on the collection.
//根据List集合取出对应的value值 List paraList = new ArrayList(); paraList.add("valueMap1"); paraList.add("valueMap2"); paraList.add("valueMap3"); List<String> valueList = redisTemplate.opsForValue().multiGet(paraList); for (String value : valueList){ System.out.println("通过multiGet(Collection<K> keys)方法获取map值:" + value); }
16. multiSetIfAbsent(Map extends K,? extends V> map)
If the corresponding map collection name does not exist, add it; if it exists, do not modify it.
Map valueMap = new HashMap(); valueMap.put("valueMap1","map1"); valueMap.put("valueMap2","map2"); valueMap.put("valueMap3","map3"); redisTemplate.opsForValue().multiSetIfAbsent(valueMap);
Common methods of RedisTemplate.opsForValue
Introduction
Projects generally have a cache, and redis is often used to access the cache (session storage cache is no longer recommended), we The keys and values are serialized to the database through the Serializer provided by Spring.
RedisTemplate uses JdkSerializationRedisSerializer by default, and StringRedisTemplate uses StringRedisSerializer by default.
RedisTemplate.opsForValue common methods
//新增一个字符串类型的值,key是键,value是值 set(K key, V value) redisTemplate.opsForValue().set("stringValue","bbb"); //获取key键对应的值 get(Object key) redisTemplate.opsForValue().get("stringValue"); //在原有的值基础上新增字符串到末尾 append(K key, String value) redisTemplate.opsForValue().append("stringValue","aaa"); //截取key键对应值得字符串,从开始下标位置开始到结束下标的位置(包含结束下标)的字符串 get(K key, long start, long end) redisTemplate.opsForValue().get("stringValue",0,3); //获取原来key键对应的值并重新赋新值 getAndSet(K key, V value) String oldValue = redisTemplate.opsForValue().getAndSet("stringValue","ccc"); //key键对应的值value对应的ascll码,在offset的位置(从左向右数)变为ascll码的value setBit(K key, long offset, boolean value) redisTemplate.opsForValue().setBit("stringValue",1,false); //判断指定的位置ASCII码的bit位是否为1 getBit(K key, long offset) boolean bitBoolean = redisTemplate.opsForValue().getBit("stringValue",1); //获取指定字符串的长度 size(K key) Long stringValueLength = redisTemplate.opsForValue().size("stringValue"); //以增量的方式将long值存储在变量中 increment(K key, long delta) double stringValueLong = redisTemplate.opsForValue().increment("longValue",6); //如果键不存在则新增,存在则不改变已经有的值 setIfAbsent(K key, V value) boolean absentBoolean = redisTemplate.opsForValue().setIfAbsent("absentValue","fff"); //设置变量值的过期时间 set(K key, V value, long timeout, TimeUnit unit) redisTemplate.opsForValue().set("timeOutValue","timeOut",5,TimeUnit.SECONDS); //覆盖从指定位置开始的值 set(K key, V value, long offset) redisTemplate.opsForValue().set("absentValue","dd",1); //设置map集合到redis multiSet(Map extends K,? extends V> map) Map valueMap = new HashMap(){{//匿名内部内 put("valueMap1","map1"); put("valueMap2","map2"); put("valueMap3","map3"); }}; redisTemplate.opsForValue().multiSet(valueMap);
The above is the detailed content of How to use opsForValue of RedisTemplate. For more information, please follow other related articles on the PHP Chinese website!

Redis是现在最热门的key-value数据库,Redis的最大特点是key-value存储所带来的简单和高性能;相较于MongoDB和Redis,晚一年发布的ES可能知名度要低一些,ES的特点是搜索,ES是围绕搜索设计的。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于redis的一些优势和特点,Redis 是一个开源的使用ANSI C语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式存储数据库,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis Cluster集群收缩主从节点的相关问题,包括了Cluster集群收缩概念、将6390主节点从集群中收缩、验证数据迁移过程是否导致数据异常等,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于原子操作中命令原子性的相关问题,包括了处理并发的方案、编程模型、多IO线程以及单命令的相关内容,下面一起看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了bitmap问题,Redis 为我们提供了位图这一数据结构,位图数据结构其实并不是一个全新的玩意,我们可以简单的认为就是个数组,只是里面的内容只能为0或1而已,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了Redis实现排行榜及相同积分按时间排序,本文通过实例代码给大家介绍的非常详细,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于redis的相关知识,其中主要介绍了关于实现秒杀的相关内容,包括了秒杀逻辑、存在的链接超时、超卖和库存遗留的问题,下面一起来看一下,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 English version
Recommended: Win version, supports code prompts!

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor

Zend Studio 13.0.1
Powerful PHP integrated development environment
