java中Redis的常用命令

Redis核心命令大全
本文详细介绍Redis的各类核心命令,包括连接操作、持久化、远程服务控制、数据操作等,覆盖String、List、Set、Hash等多种数据类型的具体使用方法。

虽然在真正的开发中不会用到这些底层的东西,但是了解一下对你的编码也是有帮助的

常用命令

    1)连接操作命令

    quit:关闭连接(connection)

    auth:简单密码认证

    help cmd: 查看cmd帮助,例如:help quit

    

    2)持久化

    save:将数据同步保存到磁盘

    bgsave:将数据异步保存到磁盘

    lastsave:返回上次成功将数据保存到磁盘的Unix时戳

    shundown:将数据同步保存到磁盘,然后关闭服务

    

    3)远程服务控制

    info:提供服务器的信息和统计

    monitor:实时转储收到的请求

    slaveof:改变复制策略设置

    config:在运行时配置Redis服务器

    

    4)对value操作的命令

    exists(key):确认一个key是否存在

    del(key):删除一个key

    type(key):返回值的类型

    keys(pattern):返回满足给定pattern的所有key

    randomkey:随机返回key空间的一个

    keyrename(oldname, newname):重命名key

    dbsize:返回当前数据库中key的数目

    expire:设定一个key的活动时间(s)

    ttl:获得一个key的活动时间

    select(index):按索引查询

    move(key, dbindex):移动当前数据库中的key到dbindex数据库

    flushdb:删除当前选择数据库中的所有key

    flushall:删除所有数据库中的所有key

    

    5)String

    set(key, value):给数据库中名称为key的string赋予值value

    get(key):返回数据库中名称为key的string的value

    getset(key, value):给名称为key的string赋予上一次的value

    mget(key1, key2,…, key N):返回库中多个string的value

    setnx(key, value):添加string,名称为key,值为value

    setex(key, time, value):向库中添加string,设定过期时间time

    mset(key N, value N):批量设置多个string的值

    msetnx(key N, value N):如果所有名称为key i的string都不存在

    incr(key):名称为key的string增1操作

    incrby(key, integer):名称为key的string增加integer

    decr(key):名称为key的string减1操作

    decrby(key, integer):名称为key的string减少integer

    append(key, value):名称为key的string的值附加value

    substr(key, start, end):返回名称为key的string的value的子串

    

    6)List 

    rpush(key, value):在名称为key的list尾添加一个值为value的元素

    lpush(key, value):在名称为key的list头添加一个值为value的 元素

    llen(key):返回名称为key的list的长度

    lrange(key, start, end):返回名称为key的list中start至end之间的元素

    ltrim(key, start, end):截取名称为key的list

    lindex(key, index):返回名称为key的list中index位置的元素

    lset(key, index, value):给名称为key的list中index位置的元素赋值

    lrem(key, count, value):删除count个key的list中值为value的元素

    lpop(key):返回并删除名称为key的list中的首元素

    rpop(key):返回并删除名称为key的list中的尾元素

    blpop(key1, key2,… key N, timeout):lpop命令的block版本。

    brpop(key1, key2,… key N, timeout):rpop的block版本。

    rpoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,

              并将该元素添加到名称为dstkey的list的头部

    

    7)Set

    sadd(key, member):向名称为key的set中添加元素member

    srem(key, member) :删除名称为key的set中的元素member

    spop(key) :随机返回并删除名称为key的set中一个元素

    smove(srckey, dstkey, member) :移到集合元素

    scard(key) :返回名称为key的set的基数

    sismember(key, member) :member是否是名称为key的set的元素

    sinter(key1, key2,…key N) :求交集

    sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合

    sunion(key1, (keys)) :求并集

    sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合

    sdiff(key1, (keys)) :求差集

    sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合

    smembers(key) :返回名称为key的set的所有元素

    srandmember(key) :随机返回名称为key的set的一个元素

    

    8)Hash

    hset(key, field, value):向名称为key的hash中添加元素field

    hget(key, field):返回名称为key的hash中field对应的value

    hmget(key, (fields)):返回名称为key的hash中field i对应的value

    hmset(key, (fields)):向名称为key的hash中添加元素field 

    hincrby(key, field, integer):将名称为key的hash中field的value增加integer

    hexists(key, field):名称为key的hash中是否存在键为field的域

    hdel(key, field):删除名称为key的hash中键为field的域

    hlen(key):返回名称为key的hash中元素个数

    hkeys(key):返回名称为key的hash中所有键

    hvals(key):返回名称为key的hash中所有键对应的value

    hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value

 

### JavaRedis 常用命令列表及用法 #### 一、连接与基本操作 为了在Java中使用Redis,通常会借助Jedis库来实现。建立连接之后,可以执行各种命令。 ```java // 创建 Jedis 实例 try (Jedis jedis = new Jedis("localhost")) { // 设置键值对 jedis.set("foo", "bar"); // 获取键对应的值 String value = jedis.get("foo"); } ``` 上述代码展示了如何设置和获取简单字符串类型的键值[^1]。 #### 二、Key 操作 对于键的操作主要包括创建、删除以及查询等动作。 ```java jedis.del("keyName"); // 删除某个特定的键 Long exists = jedis.exists("keyName"); // 检查给定的一个或多个键是否存在 String type = jedis.type("keyName"); // 返回指定键所存储值得类型 ``` 这些函数可以帮助管理和维护数据的有效性和结构。 #### 三、Hashes(哈希表) 类型 当涉及到复杂的数据结构时,比如对象模型,则更倾向于采用hash形式保存。 ```java jedis.hset("user:001", "name", "Alice"); // 向哈希表 user:001 添加字段 name 及其值 Alice String userName = jedis.hget("user:001", "name");// 获取哈希表 user:001 字段 name 对应的值 Map<String, String> allFields = jedis.hgetAll("user:001"); // 获取哈希表内所有的字段及其值 ``` 此方式非常适合用来表示具有属性的对象实例[^2]。 #### 四、Lists(列表) 类型 列表提供了有序集合的功能,在某些场景下非常有用。 ```java jedis.lpush("tasks", "taskOne", "taskTwo"); // 插入元素至列表头 List<String> tasksInRange = jedis.lrange("tasks", 0, -1); // 获得整个列表的内容 long listSize = jedis.llen("tasks"); // 查询列表大小 String lastTask = jedis.rpop("tasks"); // 移除并返回列表最后一个元素 ``` 通过这种方式能够轻松处理队列式的任务调度等问题[^4]。 #### 五、Sets(集合) 类型 如果需要去重功能的话,那么应该考虑使用Set类型。 ```java jedis.sadd("uniqueItems", "itemA", "itemB"); // 添加成员到集合里 boolean isMember = jedis.sismember("uniqueItems", "itemC"); // 测试某项是否属于该集合 Set<String> members = jedis.smembers("uniqueItems"); // 查看当前集合成员有哪些 ``` 这有助于保持唯一性的需求得到满足的同时也支持交集运算等功能。 #### 六、Transactions(事务) 有时候可能希望一批指令要么全部成功要么都失败,这时就可以利用事务机制。 ```java Transaction trans = jedis.multi(); trans.incr("counter"); trans.decrBy("stock", 5); List<Object> results = trans.exec(); // 提交事务,并获得结果数组 if(results != null && !results.isEmpty()){ System.out.println("All commands executed successfully."); }else{ System.out.println("Transaction failed or was rolled back."); } ``` 这样就能确保一系列相关联的动作作为一个整体被执行[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值