redis相关使用方法

2 篇文章 0 订阅

redis定义

redis是一个基于内存运行的高性能,单线程的已key_value形式存储数据的nosql数据库,支持分布式,操作具有原子性,持久性。

Redis的应用场景有哪些?

  • 存储热点数据(热点数据:高频读,低频写)
  • 计数器,限流器
  • 排行榜,发布订阅
  • 分布式锁,共享session,消息队列系统

Redis的数据类型

String
操作:
get/mget
set/mset
getset
哈希类型
链表类型(list)
集合类型(sets)
zset有序集合

项目中使用redis

引入依赖:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>

配置redis配置类

@Configuration
public class RedisConfig {

	@Bean
	public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
		Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
		RedisSerializer<String> redisKeySerializer = new StringRedisSerializer();//Long类型不可以会出现异常信息;
		ObjectMapper om = new ObjectMapper(); om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
		om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL); jackson2JsonRedisSerializer.setObjectMapper(om);
		RedisTemplate<String, Object> template = new RedisTemplate<>();
		template.setConnectionFactory(redisConnectionFactory);
		template.setKeySerializer(redisKeySerializer);
		template.setValueSerializer(jackson2JsonRedisSerializer);
		template.setHashKeySerializer(jackson2JsonRedisSerializer);
		template.setHashValueSerializer(jackson2JsonRedisSerializer);
		template.afterPropertiesSet();
		return template;
	}
}

配置文件中配置:

spring:
  redis:
      database: 0
      password:
      pool:
          #最大连接数(负值表示没有限制)
          max-active: 300
          #最大阻塞等待时间(负值表示没有限制)
          max-wait: 1000
          #最大空闲链接
          max-idle: 100
          #最小空闲链接
          min-idle: 10
          #链接超时时间(毫秒)
      timeout: 6000
      sentinel:
          nodes: aa:8000,aa:8001,aa:8002
          master: hcfc-master

使用redis:

@Autowired
    public RedisTemplate redisTemplate;

.........................................
if(args == null){
            String isExecute=getJobType().fileNamePrefix+"-"+getDefaultBegin()+"-"+getDefaultEnd();
            String readFlag = (String)redisTemplate.opsForValue().get(isExecute);
            if(StringUtils.isNotBlank(readFlag)){
                return new ReturnT(ReturnT.FAIL_CODE,isExecute+"相同的任务时间已经执行过");
            }
            //redis中做标记
            redisTemplate.opsForValue().set(isExecute,"SC");
        }
### 回答1: Qt连接Redis使用方法主要步骤如下: 1. 首先,在Qt项目中添加连接Redis的库文件。可以选择使用"cpp_redis"或者"redis-plus-plus"等相关库,这些库提供了与Redis交互的功能。 2. 在Qt项目中,将需要连接Redis相关代码放置在适当的位置,例如在主窗口类中。 3. 在代码中,首先创建连接Redis的对象,例如使用"cpp_redis::client"或者"redis::client"。 4. 连接Redis服务器。调用连接Redis方法,传入Redis服务器的IP地址和端口号。 5. 连接成功后,可以进行具体的Redis操作,比如存储数据,获取数据,删除数据等。 6. 使用相关方法进行Redis操作。不同的库可能提供不同的方法,但是它们都应该提供常见的Redis操作功能,例如set、get、del等。 7. 使用完毕后,关闭Redis连接。调用相应的方法,关闭与Redis服务器的连接。 需要注意的是,不同的Redis连接库可能有不同的用法,具体使用方法要参考相应的库文档。 总之,Qt连接Redis使用方法主要包括添加连接Redis的库文件、创建连接对象、连接Redis服务器、进行Redis操作和关闭连接等步骤。根据具体的库文件和项目需求,进行相应的操作即可。 ### 回答2: Qt连接Redis主要通过Redis C++ Client实现。Redis C++ Client是一个基于hiredis的开源Redis客户端库,在Qt中可以使用该库来连接和操作Redis数据库。 首先,需要在Qt项目中添加Redis C++ Client的依赖。可以通过在.pro文件中添加以下内容来引入Redis C++ Client: ``` LIBS += -lhiredis ``` 然后,在Qt代码中引入Redis C++ Client的头文件: ``` #include <redisclient.h> ``` 接下来,创建一个RedisClient对象来连接Redis数据库: ``` RedisClient redis; redis.connectToServer("127.0.0.1", 6379); // 设置Redis的IP地址和端口号 ``` 在连接成功后,可以使用RedisClient对象执行各种Redis命令,如获取或设置键值对: ``` QString key = "mykey"; QString value = "myvalue"; redis.set(key, value); // 设置键为mykey,值为myvalue的键值对 QString result = redis.get(key); // 获取键为mykey的值 qDebug() << "Value: " << result; ``` 除了设置和获取键值对,还可以执行其他Redis命令,如删除键、获取多个键的值等等。 ``` redis.del(key); // 删除键为mykey的键值对 QList<QString> keys = { "key1", "key2", "key3" }; QList<QString> values = redis.mget(keys); // 获取多个键的值 for (QString value : values) { qDebug() << "Value: " << value; } ``` 最后,在不需要连接Redis数据库时,可以关闭连接: ``` redis.disconnectFromServer(); ``` 需要注意的是,以上只是Redis C++ Client库的基本使用方法,具体的使用还可以根据实际需求来进行扩展和修改。同时,还需要确保Redis服务器已经正确的安装和运行,并且允许远程连接。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值