All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.gettyio.gim.redis.IRedisProxy Maven / Gradle / Ivy

/**
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.gettyio.gim.redis; import java.util.List; import java.util.Map; import java.util.Set; /** *

* 提供缓存内容操作接口,包括key以及value的操作,本代理只提供缓存基本操作,不提供涉及连接等连接池操作。 *

* 1、以H开头的为HASH操作命令; *

* 2、以L开头的为LIST操作命令; *

* 3、以S开头的为SET(集合)操作命令; *

* 4、以Z开头的为ZSET(有序集合)操作命令 */ /** * IRedisProxy.java * * @description:redis代理接口 * @author:gogym * @date:2020/4/10 * @copyright: Copyright by gettyio.com */ public interface IRedisProxy { /** * toString * * @return 值 */ String toString(); /** * 将字符串值value关联到key。 如果key已经持有其他值,SET就覆写旧值,无视类型。 * * @param key key * @param value value * @return string */ String set(String key, String value); /** * 返回key所关联的字符串值 *

* 假如key储存的值不是字符串类型,返回一个错误,因为GET只能用于处理字符串值 * * @param key key * @return String */ String get(String key); /** * 检查给定key是否存在。 *

* * @param key key * @return 是否 */ Boolean exists(String key); /** * 为给定key设置生存时间。单位秒 当key过期时,它会被自动删除。 * * @param key key * @param seconds seconds * @return Long */ Long expire(String key, int seconds); /** * 在某个时间点失效,以UNIX时间戳为key设置生存时间。 EXPIREAT命令接受的时间参数是UNIX时间戳(unix timestamp)。 * * @param key key * @param unixTime unixTime * @return Long */ Long expireAt(String key, long unixTime); /** * 返回给定key的剩余生存时间(time to live)(以秒为单位)。 * * @param key key * @return Long */ Long ttl(String key); /** * 将给定key的值设为value,并返回key的旧值。 当key存在但不是字符串类型时,返回一个错误。 * * @param key key * @param value value * @return value */ String getSet(String key, String value); /** * 设置过期时间 * * @param key key * @param value value * @return Long */ Long setnx(String key, String value); /** * 将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。 如果key 已经存在,SETEX命令将覆写旧值。 * * @param key key * @param seconds seconds * @param value value * @return 值 */ String setex(String key, int seconds, String value); /** * 将key所储存的值减去减量integer。 如果key不存在,以0为key的初始值,然后执行DECRBY操作。 * 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在64位(bit)有符号数字表示之内。 * * @param key key * @param integer integer * @return 值 */ Long decrBy(String key, long integer); /** * 将key中储存的数字值减一。 如果key不存在,以0为key的初始值,然后执行DECR操作。 * 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 * * @param key key * @return 值 */ Long decr(String key); /** * 将key所储存的值加上增量increment。 如果key不存在,以0为key的初始值,然后执行INCRBY命令。 * 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误 * * @param key key * @param integer integer * @return 值 */ Long incrBy(String key, long integer); /** * 将key中储存的数字值增一。 如果key不存在,以0为key的初始值,然后执行INCR操作。 * 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 * * @param key key * @return Long */ Long incr(String key); /** * 移除给定的一个或多个key。 如果key不存在,则忽略该命令。 * * @param key key * @return Long */ Long del(String key); /** * 将一个值value插入到列表key的表头。并返回列表size * * @param key key * @param string string * @return Long */ Long lpush(String key, String string); /** * Description: 移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 * * @param timeout 0表示一直阻塞 * @param key * @return * @see */ List brpop(int timeout, String key); /** * 将一个或多个member元素加入到集合key当中,已经存在于集合的member元素将被忽略。 * 假如key不存在,则创建一个只包含member元素作成员的集合。 * * @param key key * @param member member * @return Long */ Long sadd(String key, String member); Long sadd(String key, String... member); /** * 返回集合key中的所有成员。 * * @param key key * @return Set */ Set smembers(String key); /** * 移除集合key中的一个或多个member元素,不存在的member元素会被忽略。 当key不是集合类型,返回一个错误。 * * @param key key * @param member member * @return Long */ Long srem(String key, String member); Long srem(String key, String... member); /** * Description: 批量删除集合 * * @param key * @return * @see */ Long batchSrem(String key); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy