Redis 命令

本文详细介绍了Redis数据库的特点、五种核心数据结构(string、list、set、hash、zset)及其常用操作指令,还涵盖了Redis的事务机制,包括multi、exec和discard命令。此外,文章提供了使用Java连接Redis进行操作的示例,并列举了Redis的常用管理命令,如启动、关闭服务等。
摘要由CSDN通过智能技术生成

Redis

定义

Redis是一个高速缓存数据库,是一种key-value(键值对)形式的存储系统,非关系型数据库

特点

Redis的数据 是放在内存里的,所以读写会很快,Redis才能实现持久化(RDB、AOF)
支持持久化
支持多种数据结构
支持数据备份

五种数据结构

string

单key:单value (username:张三)

常用指令(这里简单举几个例子 )

  1. 将string类型的数据设置到redis中:set 键 值
    保存张三:set name zhangsan
  2. 从redis中获取string类型的数据:get 键
    获取键名为name的值:get name

list

单key:多有序value (contacts:12534,XXX1,XXX2)

  1. 将一个或者多个值依次插入到列表的表头(最左侧):lpush key value [value]
    lpush list01 1 2 3 结果:3 2 1
  2. 获取指定列表中的指定下标区间的元素:lrange key startIdex endIndex
    range list01 1 2 结果:2 1
  3. 从指定列表中移除并且返回表头元素(最左侧元素):lpop key
    lpop list02
  4. 获取指定列表的长度:llen key
    llen list02
  5. 从指定列表中移除并返回表尾元素:rpop key
    rpop list02

set

单key:多无序value (city: bj、sh、cq、tj)

  1. 将一个或者多个元素添加到指定的集合中:sadd key value [value value …] (返回成功插入的元素个数)
    sadd set01 a b c a 结果:a b c
  2. 获取指定集合中所有的元素:smembers key
    smembers set01
  3. 获取指定集合的长度(元素的总个数):scard key
    scard set01
  4. 移除指定集合中一个或者多个元素:srem key member [member member …](不存在的元素会被忽略,返回成功移除的元素个数)
    srem set01 b d m

hash

单key:对象(属性:值) 存储对象 (student id:1001,name:zhangsan) (适合用于存储对象)

  1. 将一个或者第一个field-value对设置 到哈希表汇总:hset key filed1 value [filed2 value2] (如果key field已经存在,把value会把以前的进行覆盖)
    hset stu1001 name zhangsan age 20
  2. 获取指定哈希表汇总指定field的值 :hget key field
    hget stu1001 id
  3. 批量将多个field-value对设置到哈希表中:hmset key filed1 value [filed2 value2]
    hset stu1002 id 1001 name zhangsan age 20
  4. 获取指定哈希表中所有的field和value:hgetall key
    hgetall stu1001
  5. 将指定哈希表中删除一个或者多个field:hdel key field1 field1
    hdel stu1002 name age

zset

单key:多有序value (city:2000 bj) 自定义排序规律(有序集合,本质上是集合,所有元素不能重复, 每一个元素都关联一个分数,分数可以重复)

  1. 将一个或者多个member及score值加入有序集合 :zadd key score member score1 member1(如果元素以存在 ,则把分数覆盖)
    zadd zset01 20 z1 30 z2 50 z3 40 z4
  2. 获取指定有序集合中指定下标区间的元素:zrange key startIndex endIndex
    zrange zset01 0 -1 withscores
  3. 删除指定有序集合中一个或者多个元素:zrem key member member1…
    zrem zset01 z3 z4
  4. 获取指定有序集合中所有元素的个数:zcard key
    zcard zset01

事务

定义

把一组数据库命令放在一起执行,保证操作原子性,要么同时成功,要么同时失败。
redis的事务:允许把一组redis命令放在一起,把命令进行序列化,然后一起执行,保证部分原子性。

multi

用来标记一个事务的开始。

multi
set k1 v1
set k2 v2

exec

用来执行事务队列中所有的命令。

exec

discard

清楚所有已经压入队列中的命令,并且结束整个事务。

discard

redis事务只能保证部分原子性

如果一组命令中,在压入事务队列过程中发生错误的命令,则本事务中所有的命令都不执行,能够保证事务的原子性。

multi
set k3 v3
seta kk vv
set k4 v4
exec

使用Java连接redis进行操作

  1. 创建一个maven项目
  1. 在pom文件中添加redis依赖
<dependencies>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>4.2.3</version>
        </dependency>
    </dependencies>
  1. 创建一个类,通过jedis访问redis,放入下面的这段代码
public static void main(String[] args) {
        //连接redis:
        Jedis jedis=new Jedis("IP",端口);
//        Set<String> keys= jedis.keys("name");
//        for (String key:keys){
//            System.out.println(key);
//        }

        String name = jedis.get("name");
        System.out.println(name);
        if(name.equals("zhangsan")){
            System.out.println("成功获取到张三");
        }
    }

运行当前类,在控台中即可看到通过redis查询到的数据

redis常用指令

关闭虚拟机

shutdown -h now

启动redis后台服务

redis-server &

启动redis客户端

redis-cli

启动指定IP和端口的:redis服务

redis-cli -h xxxx -p 6380

关闭指定IP和端口的:redis服务

redis-cli -h xxxx -p 6380 shutdowm

关闭redis

redis-cli shutdown

查看redis是否启动

ps -ef |grep redis

查看redis配置文件

vim redis.conf

需要进行修改、删除、新增时,先按e键,进行编辑,编辑完成后按 :wq保存即可

查看虚拟机ip地址

ip addr

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值