对php网站开发技术课程总结,怎么建设网站赚钱,wordpress 标签打不开,简单html网页代码redis官网
微软写的windows下的redis 我们下载第一个
额案后基本一路默认就行了
安装后#xff0c;服务自动启动#xff0c;以后也不用自动启动。 出现这个表示我们连接上了。 redis命令参考链接
Spring整合Redis
引入依赖 - spring-boot-starter-data-redis depend…redis官网
微软写的windows下的redis 我们下载第一个
额案后基本一路默认就行了
安装后服务自动启动以后也不用自动启动。 出现这个表示我们连接上了。 redis命令参考链接
Spring整合Redis
引入依赖 - spring-boot-starter-data-redis dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependency
配置Redis - 配置数据库参数
# RedisProperties
spring.redis.database11#第11个库这个随便
spring.redis.hostlocalhost
spring.redis.port6379#端口 - 编写配置类构造RedisTemplate
这个springboot已经帮我们配了但是默认object我想改成string
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.RedisSerializer;Configuration
public class RedisConfig {Beanpublic RedisTemplateString, Object redisTemplate(RedisConnectionFactory factory) {RedisTemplateString, Object template new RedisTemplate();template.setConnectionFactory(factory);// 设置key的序列化方式template.setKeySerializer(RedisSerializer.string());// 设置value的序列化方式template.setValueSerializer(RedisSerializer.json());// 设置hash的key的序列化方式template.setHashKeySerializer(RedisSerializer.string());// 设置hash的value的序列化方式template.setHashValueSerializer(RedisSerializer.json());template.afterPropertiesSet();return template;}}
访问Redis - redisTemplate.opsForValue() - redisTemplate.opsForHash() - redisTemplate.opsForList() - redisTemplate.opsForSet() - redisTemplate.opsForZSet()
RunWith(SpringRunner.class)
SpringBootTest
ContextConfiguration(classes CommunityApplication.class)
public class RedisTests {Autowiredprivate RedisTemplate redisTemplate;Testpublic void testStrings() {String redisKey test:count;redisTemplate.opsForValue().set(redisKey, 1);System.out.println(redisTemplate.opsForValue().get(redisKey));System.out.println(redisTemplate.opsForValue().increment(redisKey));System.out.println(redisTemplate.opsForValue().decrement(redisKey));}Testpublic void testHashes() {String redisKey test:user;redisTemplate.opsForHash().put(redisKey, id, 1);redisTemplate.opsForHash().put(redisKey, username, zhangsan);System.out.println(redisTemplate.opsForHash().get(redisKey, id));System.out.println(redisTemplate.opsForHash().get(redisKey, username));}Testpublic void testLists() {String redisKey test:ids;redisTemplate.opsForList().leftPush(redisKey, 101);redisTemplate.opsForList().leftPush(redisKey, 102);redisTemplate.opsForList().leftPush(redisKey, 103);System.out.println(redisTemplate.opsForList().size(redisKey));System.out.println(redisTemplate.opsForList().index(redisKey, 0));System.out.println(redisTemplate.opsForList().range(redisKey, 0, 2));System.out.println(redisTemplate.opsForList().leftPop(redisKey));System.out.println(redisTemplate.opsForList().leftPop(redisKey));System.out.println(redisTemplate.opsForList().leftPop(redisKey));}Testpublic void testSets() {String redisKey test:teachers;redisTemplate.opsForSet().add(redisKey, 刘备, 关羽, 张飞, 赵云, 诸葛亮);System.out.println(redisTemplate.opsForSet().size(redisKey));System.out.println(redisTemplate.opsForSet().pop(redisKey));System.out.println(redisTemplate.opsForSet().members(redisKey));}Testpublic void testSortedSets() {String redisKey test:students;redisTemplate.opsForZSet().add(redisKey, 唐僧, 80);redisTemplate.opsForZSet().add(redisKey, 悟空, 90);redisTemplate.opsForZSet().add(redisKey, 八戒, 50);redisTemplate.opsForZSet().add(redisKey, 沙僧, 70);redisTemplate.opsForZSet().add(redisKey, 白龙马, 60);System.out.println(redisTemplate.opsForZSet().zCard(redisKey));System.out.println(redisTemplate.opsForZSet().score(redisKey, 八戒));System.out.println(redisTemplate.opsForZSet().reverseRank(redisKey, 八戒));System.out.println(redisTemplate.opsForZSet().reverseRange(redisKey, 0, 2));}Testpublic void testKeys() {redisTemplate.delete(test:user);System.out.println(redisTemplate.hasKey(test:user));redisTemplate.expire(test:students, 10, TimeUnit.SECONDS);}
}
这样还是稍微有点麻烦我们其实可以绑定key // 多次访问同一个keyTestpublic void testBoundOperations() {String redisKey test:count;BoundValueOperations operations redisTemplate.boundValueOps(redisKey);operations.increment();operations.increment();operations.increment();operations.increment();operations.increment();System.out.println(operations.get());}