Redis 使用还有项目的中的应用

1.Redis是什么?有什么用?

用作数据库、缓存、流引擎和消息代理的开源内存数据存储。

2.Redis怎么用

1.一些基本的命令

# 远程连接
redis-cli -h host -p port -a password
## 	切换存储库 myRedis:1> 
select 1

2. Redis的数据类型:

1. string
# key-value 的存储方式 set k v   get k
set name nikaboy
get name

# 设置key的生存时间
expire name 20

# 删除
del keyname
2. hash

可以想象成 key - map<key,val>


# 设置值 hash类型 
hmset nikaboy key1 val1

# 获取值key的key1字段的值
hmget nikaboy key1

## 获取key所有值
hgetall nikaboy 


# 删除单个字段 删除 key 的 key1 字段
hdel  nikaboy key1

#单个字段设置过期时间
虽然不能给set,hash的元素字段设置过期时间。但可以给整个hash或set设置过期时间

3. list

可重复的队列

# 存储数据 lpush 从左边开始添加数据,之前的数据向后移动 rpush 从右边开始添加数据
lpush nikaboy val1

rpush nikaboy val2

# 查看数据 
lrange nikaboy 0 3 # 查看前四个数据

lindex nikaboy 0  # 查看指定index的数据

# 移除数据
lpop nikaboy # 弹出队列左边第一个数据
rpop nikaboy # 弹出队列右边第一个数据


# 查看队列长度
llen nikaboy


4. set

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

# 添加元素
sadd nikaboy val1

# 查看
smembers nikaboy

# 删除一个元素
sadd nikaboy val1

5. sorted set

Redis 有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序

# 添加元素
zadd nikaboy 1 val1
# 查看
zrange nikaboy 0 -1 # 查看所有元素

zrange nikaboy 0 -1 withscores # 查看所有元素包括分数

3.Redis项目中使用

Jedis的使用

Jedis是一个为Redis设计的Java客户端,旨在提高性能和易用性。

Jedis的github路径

  1. 引入maven文件

            <dependency>
                <groupId>redis.clients</groupId>
                <artifactId>jedis</artifactId>
                <version>3.7.0</version>
            </dependency>
    
  2. 创建连接

    // 普通方式创建链接
    private Jedis jedis;
    @BeforeEach
    public void initJedis(){
         
            jedis = new Jedis("127.0.0.1",6379);
            //设置密码
            jedis.auth("123456");
            // 选择库
            jedis.select(0);
    
     }
    
    //连接池的方式创建连接
    
    private static JedisPool jedisPool;
    
    public static Jedis getJedisInstance(){
         
       return jedisPool.getResource();
     }
    
    static {
         
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            //最大连接数量
            jedisPoolConfig.setMaxTotal(100);
            //最大空闲
            jedisPoolConfig.setMaxIdle(100);
            //最小空闲
            jedisPoolConfig.setMinIdle(0);
            jedisPoolConfig.setMaxWaitMillis(3000);
            jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1",6379, 6000, "123456");
     }
    
    
  3. string 类型

  	@Test
    public void stringTest(){
   
        //设置string 类型的 key-value 过期时间为1分钟
        String result = jedis.set("hello", "hello redis", SetParams.setParams().ex(60L));
        //存入数据
        System.out.println(result); // OK
        String hello = jedis.get("hello"); // hello redis
        System.out.println(hello);
        //删除key
        jedis.del("hello");
    }

  1. hash 类型
@Test
public void hashTest(){
   
    jedis.hset("hashKey", "field-0", "value-0");
    String val1 = jedis.hget("hashKey"
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值