做教程网站如何查用户搜索,免费网站的建设,天津做网站美工,大公司网站搭建公司Redis是一个基于内存的key-value的结构数据库
基于内存存储 读写性能高适合存储热点数据#xff08;热点商品 咨询 新闻#xff09; 开启Redis 首先输入命令 redis-server.exe redis.windows.conf 然后重新打开命令行窗口 输入命令 redis-cli.exe 输入密码 …Redis是一个基于内存的key-value的结构数据库
基于内存存储 读写性能高适合存储热点数据热点商品 咨询 新闻 开启Redis 首先输入命令 redis-server.exe redis.windows.conf 然后重新打开命令行窗口 输入命令 redis-cli.exe 输入密码 redis-cli.exe -a 123456 五种常用的数据类型 字符串String 普通字符串 redis中最常用的数据类型哈希表 hash也叫散列列表 list 按照插入的顺序进行排序 可以有重复的数据类似于LinkedList集合 set无序集合 没有重复元素 类似于HashSetji有序集合 sorted set/zset :集合中每个元素关联一个分数score 根据分数升序排列 没有重复元素 Redis中的常见操作字符串的命令 SET key value 设置指定的key的值GET key 获取指定key的值SETEX key seconds value 设置指定key的值 并将key的过去时间设置为seconds秒SETNX key value 只有在key不存在时才会设置key的值 Redis中常见的hash操作命令 Redis hash是一个string类型的filed和value的映射表 hash特别适合存储对象 常用命令 HSET key field value 将哈希表key中的字段field的值设置为value HGET key field 获取存储在哈希表中的指定字段的值 HDEL key field 删除存储在哈希表中的指定字段 HKEYS key 获取哈希表中的所有字段 HVALS key 获取哈希表中的所有值 Redis中常见的列表操作命令 Redis列表是简单的字符串列表 按照插入顺序排序 常用命令 LPUSH key value1[value2] 将一个或者多个值插入到列表的头部(每个元素用空格隔开) LRANGE key start stop 获取列表指定范围内的元素 RPOP key 移除并获取列表的最后一个元素 LLEN key 获取列表长度 Redis中常见的集合常见操作命令 Redis set 是string类型的无序集合 集合成员是唯一的集合中不能出现重复的数据 常用命令 SADD key member1 [member2] 向集合中添加一个或者多个成员 SMEMBERS key 返回集合中的所有成员 SCARD key 获取集合的成员数 SINTER key1 [key2] 返回给定所有集合的交集 SUNION key1 [key2] 返回所有给定集合的并集 SREM key member1 [member2]删除集合中一个或者多个成员 Redis中常见的有序集合操作命令 Redis有序集合是string类型元素的集合 且不允许有重复的成员 每个元素都会关联一个double类型的分数常用命令 ZADD key score1 member1 [score2 member2] ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合中指定区间内的成员 ZINCRBY key increment member 有序集合中指定的成员分数加上增量increment ZREM key member1[member2] 移除有序集合中的一个或者多个成员 Redis通用命令部分数据类型 KEYS pattern 查找所有符合给定模式pattern的key EXISTS key 检查给定key是否存在 TYPE key 返回key所存储的值的类型 DEL key 该命令用于key存在时删除key Java中操作Redis 1.导入Redis的依赖以起步依赖为例 !--导入redis相关依赖--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency 2.配置Redis的配置源 #配置spring——redisredis:host: ${sky.redis.host}password: ${sky.redis.password}port: ${sky.redis.port}database: ${sky.redis.database} 3.书写Redis的配置类来操作Redis package com.sky.config;import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;Configuration
Slf4j
public class RedisConfiguration {Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){log.info(开始创建RedisTemplate对象...);RedisTemplate redisTemplate new RedisTemplate();//设置Redis的连接工厂对象redisTemplate.setConnectionFactory(redisConnectionFactory);//设置Redis的序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}java代码操作Redis中String类型的数 Testpublic void testString() {//set get setex setnxredisTemplate.opsForValue().set(city, beijing);String s (String) redisTemplate.opsForValue().get(city);System.out.println(s);redisTemplate.opsForValue().set(code, 123, 60, TimeUnit.MINUTES);redisTemplate.opsForValue().setIfAbsent(lock,1) ;redisTemplate.opsForValue().setIfAbsent(lock,2) ;} Java代码中操作hash类型的数据
Testpublic void testHash() {//hset hget hdel hkeys hvalsHashOperations hashOperations redisTemplate.opsForHash();hashOperations.put(100, name, xiaoming);hashOperations.put(100, age, 20);String name (String) hashOperations.get(100, name);System.out.println(name);Set keys hashOperations.keys(100);System.out.println(keys);List values hashOperations.values(100);System.out.println(values);hashOperations.delete(100, name) ;}