Table of Contents
Usage of opsForValue() method in Redis
1. set(K key, V value)
2. get(Object key)
3. append(K key, String value)
4. get(K key, long start, long end)
5. getAndSet(K key, V value)
6. setBit(K key, long offset, boolean value)
7. getBit(K key, long offset)
8. size(K key)
9. increment(K key, double delta)
10. increment(K key, long delta)
11. setIfAbsent(K key, V value)
12.set(K key, V value, long timeout, TimeUnit unit)
13, set(K key, V value, long offset)
14. multiSet(Map<? extends K,? extends V> map)
15. multiGet(Collection<K> keys)
16. multiSetIfAbsent(Map<? extends K,? extends V> map)
Common methods of RedisTemplate.opsForValue
Introduction
RedisTemplate.opsForValue common methods
Home Database Redis How to use opsForValue of RedisTemplate

How to use opsForValue of RedisTemplate

Jun 03, 2023 am 08:55 AM
redis template opsforvalue

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");
Copy after login

2. get(Object key)

Get the value corresponding to the key key.

String stringValue = redisTemplate.opsForValue().get("key")
Copy after login

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);
Copy after login

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);
Copy after login

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);
Copy after login

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);
Copy after login

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);
Copy after login

8. size(K key)

Get the length of the specified string

Long stringValueLength = redisTemplate.opsForValue().size("key");  
System.out.println("通过size(K key)方法获取字符串的长度:"+stringValueLength);
Copy after login

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);
Copy after login

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);
Copy after login

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);
Copy after login

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);
Copy after login

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);
Copy after login

14. multiSet(Map 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);
Copy after login

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);  
}
Copy after login

16. multiSetIfAbsent(Map 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);
Copy after login

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 map)
Map valueMap = new HashMap(){{//匿名内部内
        put("valueMap1","map1");
        put("valueMap2","map2");
        put("valueMap3","map3");
}};
redisTemplate.opsForValue().multiSet(valueMap);
Copy after login

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solution to 0x80242008 error when installing Windows 11 10.0.22000.100 Solution to 0x80242008 error when installing Windows 11 10.0.22000.100 May 08, 2024 pm 03:50 PM

1. Start the [Start] menu, enter [cmd], right-click [Command Prompt], and select Run as [Administrator]. 2. Enter the following commands in sequence (copy and paste carefully): SCconfigwuauservstart=auto, press Enter SCconfigbitsstart=auto, press Enter SCconfigcryptsvcstart=auto, press Enter SCconfigtrustedinstallerstart=auto, press Enter SCconfigwuauservtype=share, press Enter netstopwuauserv , press enter netstopcryptS

Analyze PHP function bottlenecks and improve execution efficiency Analyze PHP function bottlenecks and improve execution efficiency Apr 23, 2024 pm 03:42 PM

PHP function bottlenecks lead to low performance, which can be solved through the following steps: locate the bottleneck function and use performance analysis tools. Caching results to reduce recalculations. Process tasks in parallel to improve execution efficiency. Optimize string concatenation, use built-in functions instead. Use built-in functions instead of custom functions.

Golang API caching strategy and optimization Golang API caching strategy and optimization May 07, 2024 pm 02:12 PM

The caching strategy in GolangAPI can improve performance and reduce server load. Commonly used strategies are: LRU, LFU, FIFO and TTL. Optimization techniques include selecting appropriate cache storage, hierarchical caching, invalidation management, and monitoring and tuning. In the practical case, the LRU cache is used to optimize the API for obtaining user information from the database. The data can be quickly retrieved from the cache. Otherwise, the cache can be updated after obtaining it from the database.

Caching mechanism and application practice in PHP development Caching mechanism and application practice in PHP development May 09, 2024 pm 01:30 PM

In PHP development, the caching mechanism improves performance by temporarily storing frequently accessed data in memory or disk, thereby reducing the number of database accesses. Cache types mainly include memory, file and database cache. Caching can be implemented in PHP using built-in functions or third-party libraries, such as cache_get() and Memcache. Common practical applications include caching database query results to optimize query performance and caching page output to speed up rendering. The caching mechanism effectively improves website response speed, enhances user experience and reduces server load.

How to use Redis cache in PHP array pagination? How to use Redis cache in PHP array pagination? May 01, 2024 am 10:48 AM

Using Redis cache can greatly optimize the performance of PHP array paging. This can be achieved through the following steps: Install the Redis client. Connect to the Redis server. Create cache data and store each page of data into a Redis hash with the key "page:{page_number}". Get data from cache and avoid expensive operations on large arrays.

How to upgrade Win11 English 21996 to Simplified Chinese 22000_How to upgrade Win11 English 21996 to Simplified Chinese 22000 How to upgrade Win11 English 21996 to Simplified Chinese 22000_How to upgrade Win11 English 21996 to Simplified Chinese 22000 May 08, 2024 pm 05:10 PM

First you need to set the system language to Simplified Chinese display and restart. Of course, if you have changed the display language to Simplified Chinese before, you can just skip this step. Next, start operating the registry, regedit.exe, directly navigate to HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage in the left navigation bar or the upper address bar, and then modify the InstallLanguage key value and Default key value to 0804 (if you want to change it to English en-us, you need First set the system display language to en-us, restart the system and then change everything to 0409) You must restart the system at this point.

Can navicat connect to redis? Can navicat connect to redis? Apr 23, 2024 pm 05:12 PM

Yes, Navicat can connect to Redis, which allows users to manage keys, view values, execute commands, monitor activity, and diagnose problems. To connect to Redis, select the "Redis" connection type in Navicat and enter the server details.

How to find the update file downloaded by Win11_Share the location of the update file downloaded by Win11 How to find the update file downloaded by Win11_Share the location of the update file downloaded by Win11 May 08, 2024 am 10:34 AM

1. First, double-click the [This PC] icon on the desktop to open it. 2. Then double-click the left mouse button to enter [C drive]. System files will generally be automatically stored in C drive. 3. Then find the [windows] folder in the C drive and double-click to enter. 4. After entering the [windows] folder, find the [SoftwareDistribution] folder. 5. After entering, find the [download] folder, which contains all win11 download and update files. 6. If we want to delete these files, just delete them directly in this folder.

See all articles