redis和jedis常用api

redis:

一、针对key的操作

1.1 del key [key .. ]                 , 删除指定的一个或者多个key;
1.2 dump key                          , 序列化给定的key
1.3 restore key ttl serialized-value  , 反序列化到key
1.4 exists key                        , 判断某一key是否存在
1.5 expire key seconds                , 设置key的过期时间 


① set命令可以覆盖过期时间;不改变key的操作不会影响key的生存时间
② rename也不会改变key的过期时间
③ persist命令可以删除key的过期时间,即永久
④ ttl可以查看redis中key的过期时间
1.6  expireat key timestamp            , 设置key的生存时间
1.7  keys pattern                      , 查找所有符合给定模式pattern的key
            ① *, ?, [m,n]
1.8   move key db                       , 将当前数据库中的key移动数据库 db中。使用select db可以切换数据库
1.9   persist key                       , 移除给定 key 的生存时间
1.10  pexpire,pexpireat                , 设置key的过期、生存时间,单位毫秒
1.11   ttl,pttl                         , key的剩余过期时间,单位秒,单位是毫秒
1.12   randomkey                        , 随机返回一个key
1.13   rename key newkey                , 将 key 改名为 newkey ,当newkey存在时会覆盖
1.14   renamenx key newkey              ,  当newkey不存在时,将key改名为newkey
1.15   sort key [by pattern] [get pattern [get pattern]] [limit offset count] [asc | desc] [alpha] [store destination]  ,排序,pattern可以有 *字符出现
1.16   type key                         ,  返回key所存储的值的类型 (none,string,list,set,zset,hash)
1.17   scan [db] cursor [MATCH pattern] [COUNT count] ,增量式迭代。  类似有 sscan,hscan,zscan
           ① SCAN命令用于迭代当前数据库中的数据库键。   返回结果为:用于下一次迭代的新游标;所有被迭代的元素
           ② SSCAN 命令用于迭代集合键中的 元素。
           ③ HSCAN 命令用于迭代哈希键中的 键值对。
           ④ ZSCAN 命令用于迭代有序集合中的 元素(包括元素成员和元素分值)

二、String操作

2.1   append key value                 , 将value追加到原先值的末尾
2.2   bitcount key [start] [end]       , 计算给定字符串中,设置为1的比特位的数据量。
        ① 注意字符串"1"对应的十进制为49,二进制为00110001
        ② 可以通过setbit key offset value
2.3   bitop operation destkey key [key ...]  , 对key的二进制字符串进行元操作,operation可以是and,or, not,xor。
2.4   decr key                          , 将key中存储的数字值减一
        ① 与incr命令相反
2.5   decrby key decrement              , 将key所存储的值减去减量decrement
        ② 与incrby命令相反
2.6   get key
2.7   getbit key offset                 , 获取key中所存储字符串值对应偏移量上的bit
2.8   getrange key start end            , 返回key中字符串值的子字符串
2.9   getset key value                  , 设置key的值为value,并返回key的旧值
2.10  mget key [key ...]               , 返回指定的多个key的值
2.11  mset key value [key value ...]   , 同时设置多个key-value值
2.12  msetnx key value [key value ...] , 当且仅当所有的key都不存在时,同时设置多个key-value对
2.13  set key value [EX second] [PX millisceonds] [NX|XX]
        ① setex key second value , 设置key的同时设置过期时间单位为秒
        ② psetex key millisceonds value , 过期时间单位为毫秒
        ③ setbit key offset value , 设置指定偏移量上的位
        ④ setnx key value , 当且仅当key不存在时设置key的value
        ⑤ setrange key offset value , 从offset开始,用value参数覆盖key中的值
2.14  strlen key                      , 返回key中所存字符串的长度

三、 Hash操作

3.1   hdel key field [field ...]       , 删除哈希表key中的一个或多个指定域
3.2   hexists key field                , 查看哈希表key中给定的field是否存在
3.3   hget key feild                   , 查看哈希表key中给定的field的值
       ① hgetall key , 查看哈希表key中所有的field的值
       ② hmget key field [field ...] , 返回哈希表key中一个或多个给定域的值
3.4  hincrby key field increment      , 为哈希表key中的field的值加上增量increment
3.5   hkeys key                        , 获取哈希表key中的所有域
3.6   hlen key                         , 返回哈希表key中域的数量
3.7   hset key field value             , 设置哈希表key中field的值
       ① hmset key field value [field value] , 同时设置过个field的值
       ② hsetnx key field value , 当field不存在时,设置field的值
3.8   hvals key                        , 返回哈希表key中所有域的值
3.9   hstrlen key field                , 返回哈希表key中给定field关联值的字符长度

四、List操作(List相当于堆栈)

4.1  lpush key value [value ...]      , 将一个或者多个值插入到列表key的表头
      ① rpush key value [value ...] , 将一个或者多个值插入到列表key的表尾
      ② lpushx key value ,当且仅当key存在时将值value插入到key的表头
      ③ rpushx key value ,当且仅当key存在时将值value插入到key的表尾
4.2  lpop key                          , 移除并返回列表key的头元素
       ① rpop key , 移除并返回列表的尾元素
       ② blpop key [key ...] timeout , lpop的阻塞式指令
       ③ brpop key [key ...] timeout , rpop的阻塞式指令
       ④ rpoplpush source destination , 将列表Source的尾元素弹出以及返回客户端,并且将该元素插入到destination列表中
       ⑤ brpoplpush source destination timeout , rpoplpush的阻塞版
4.3  lindex key index                  , 返回key中下表为index的元素
4.4  linsert key before|after pivot value , 将值value插入到key中,位为pivot之前或者之后
4.5  llen key                           , 返回列表key的长度
4.6  lrange key start stop              , 返回列表key中指定区间内的元素
4.7  lrem key count value               , 根据count的值,移除列表中与参数value相等的元素
4.8  lset key index value               , 将列表key下表为index的元素值设置为value
4.9  ltrim key start stop               , 对一个列表进行trim

五、Set操作(不可重复)

5.1   sadd key member [member ...]       , 将元素加入到集合key中,已经有的忽略
5.2   scard key                          , 返回集合key的元素个数
5.3   sdiff key [key ...]                , 返回一个集合的全部成员,该集合是所有给定集合之间的差集
5.4   sdiffstore destination key [key ...] , 放回集合之间的差集,并将它保存在destination集合中
5.5   sinter key [key ...]               ,返回集合中给定集合的交集
5.6   sinterstore destination key [key ...] , 返回给定集合之间的差集,并将它保存在destination集合中
5.7   sismember key member               , 判断member元素是否为集合key成员
5.8   smembers key                       , 返回集合中的所有成员
5.9   smove source destination member    , 将member元素从source集合移动到destination集合
5.10 spop key                          , 移除并返回集合中的一个随机元素
5.11 srandmember key [count]           , 返回指定count个数的集合,count为正数表示不能重复,负数可以重复
5.12 srem key member [member ...]      , 移除集合key中的多个元素
5.13 sunion key [key ...]              , 返回所有指定key的并集
5.14 sunionstore destination key [key ...] 

六、ZADD操作(有序集合)

6.1   zadd key source member [[source member] [...]] , 将一个或者多个member元素及其score值加入到有序集合key中
6.2   zcard key                          , 返回有序集合key的元素个数
6.3   zcount key min max                 , 返回有序集合key中,score值在min和max之间的元素个数
6.4   zincrby key increment member       , 为有序集合key的成员member的score值加上增量increment
6.5   zrange key start stop              , 返回有序集key中,指定下标区间内的成员
       ①   zrevrange key start stop [withscores] , 返回指定区间内的成员递减顺序
       ②   zrevrangebyrank key max min [withscores] [limit offset count]
6.6   zrangebyscore key min max [withscopes] [limit offset count] , 返回score值介于min和max之间的集合
6.7   zrank key member                   , 返回有序集key中成员member的排名
       ① zrevrank key member          , 返回有序集key中成员member的递减排名
6.8   zrem key member [member ...]       , 移除有序集key中的多个成员
       ① zremrangebyrank key start stop , 移除有序集key中,指定排名区间内的所有成员
       ② zremrangebyscore key min max , 移除有序集key中,指定score范围内的成员
6.9   zscore key member                  , 返回成员member的score值

七、pub/sub(发布、订阅)

7.1   psubscribe pattern [pattern ...]   , 订阅一个或者多个符合给定模式的频道
7.2   publish channel message            , 将信息message发送到指定的频道channel
7.3   pubsub <subcommand> [argument ...] , 查看订阅与发布系统状态的内省命令
        eg pubsub channels [pattern] , 列出当前的活跃频道,订阅模式的客户端不计算在内
        eg pubsub numsub [channel-1 ...] , 返回给定频道的订阅者数量,订阅模式的客户端不计算在内
7.4   punsubscribe [pattern ...]          , 指示客户端退订所有给定模式
7.5   subscribe channel [channel ...]     , 订阅给定的一个或者多个频道信息
7.6   unsubscribe [channel ...]           , 指示客户端退订给定的频道

八、Transaction(事务)

8.1   discard                             , 取消执行事务块内的所有命令
8.2   exec                                , 执行事务块内的命令
8.3   multi                               , 标记一个事务块的开始
8.4   unwatch                             , 取消watch命令对所有key的监视
8.5   watch key [key ...]                 , 监视一个或者多个key,如果事务执行之前,这个kye被其它命令所动,则事务被打断

九、Connection(连接)

9.1   auth password                       , 登录redis时输入密码
9.2   echo message                        , 打印一个特定的信息message,测试时使用
9.3   ping                                , 测试与服务器的连接,如果正常则返回pong
9.4   quit                                , 请求服务器关闭与当前客户端的连接
9.5   select index                        , 切换到指定的数据库

十、Server(服务器)

10.1  bgsave                             , 后台异步保存数据到硬盘
10.2  client setname/client getname      , 为连接设置、获取名字
10.3  client kill ip:port                , 关闭地址为 ip:port的客户端
10.4  client list                        , 以人类可读的方式,返回所有的连接客户端信息和统计数据
10.5  config get parameter               , 取得运行redis服务器的配置参数
10.6  config set parameter value         , 设置redis服务器的配置参数
10.7  config resetstat                   , 重置info命令的某些统计数据
10.8  dbsize                             , 返回当前数据库中key的数量
10.9  flushall                           , 清空整个redis服务器的数据(删除所有数据库的所有 key)
10.10 flushdb                           , 清空当前数据库中的所有key
10.11 info [section]                    , 返回redis服务器的各种信息和统计数据
10.12 lastsave                          , 返回最近一次redis成功将数据保存到磁盘时的时间
10.13 monitor                           , 实时打印出redis服务器接收到的指令
10.14 save                              , 将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘
10.15 slaveof host port                 , 将当前服务器转变为指定服务器的从属服务器
10.16 slowlog subcommand [argument]     , Redis 用来记录查询执行时间的日志系统

jedis:

其中value 支持五种数据类型:

1)字符串型 string
2)字符串列表 lists
3)字符串集合 sets
4)有序字符串集合 sorted sets
5)哈希类型 hashs

Jedis jedis = new Jedis(String ip , String port)

方法描述返回值 /补充说明
jedis.flush    
jedis.flushDB 清空数据  
boolean jedis.exists(String key) 判断某个键是否存在 true = 存在,false= 不存在
jedis.set(String key,String value) 新增键值对(key,value) 返回String类型的OK代表成功
Set<String> jedis.keys(*) 获取所有key 返回set 无序集合
jedis.del(String key) 删除键为key的数据项  
jedis.expire(String key,int i) 设置键为key的过期时间为i秒  
int jedis.ttl(String key) 获取建委key数据项的剩余时间(秒)  
jedis.persist(String key) 移除键为key属性项的生存时间限制  
jedis.type(String key) 查看键为key所对应value的数据类型

jedis对字符串操作

语法描述
jedis.set(String key,String value) 增加(或覆盖)数据项
jedis.setnx(String key,String value) 不覆盖增加数据项(重复的不插入)
jedis.setex(String ,int t,String value) 增加数据项并设置有效时间
jedis.del(String key) 删除键为key的数据项
jedis.get(String key) 获取键为key对应的value
jedis.append(String key, String s) 在key对应value 后边扩展字符串 s
jedis.mset(String k1,String V1,String K2,String V2,…) 增加多个键值对
String[] jedis.mget(String K1,String K2,…) 获取多个key对应的value
jedis.del(new String[](String K1,String K2,.... )) 删除多个key对应的数据项
String jedis.getSet(String key,String value) 获取key对应value并更新value
String jedis.getrang(String key , int i, int j) 获取key对应value第i到j字符 ,从0开始,包头包尾

jedis中对整数和浮点数操作

语法描述
jedis.incr(String key) 将key对应的value 加1
jedis.incrBy(String key,int n) 将key对应的value 加 n
jedis.decr(String key) 将key对应的value 减1
jedis.decrBy(String key , int n) 将key对应的value 减 n

jedis对list列表操作

语法描述
jedis.lpush(String key, String v1, String v2,....) 添加一个List , 注意:如果已经有该List对应的key, 则按顺序在左边追加 一个或多个
jedis.rpush(String key , String vn) key对应list右边插入元素
jedis.lrange(String key,int i,int j) 获取key对应list区间[i,j]的元素,注:从左边0开始,包头包尾
jedis.lrem(String key,int n , String val) 删除list中 n个元素val
jedis.ltrim(String key,int i,int j) 删除list区间[i,j] 之外的元素
jedis.lpop(String key) key对应list ,左弹出栈一个元素
jedis.rpop(String key) key对应list ,右弹出栈一个元素
jedis.lset(String key,int index,String val) 修改key对应的list指定下标index的元素
jedis.llen(String key) 获取key对应list的长度
jedis.lindex(String key,int index) 获取key对应list下标为index的元素
jedis.sort(String key) 把key对应list里边的元素从小到大排序 (后边详细介绍)

jedis对set操作

语法操作
jedis.sadd(String key,String v1,String v2,…) 添加一个set
jedis.smenbers(String key) 获取key对应set的所有元素
jedis.srem(String key,String val) 删除集合key中值为val的元素
jedis.srem(String key, Sting v1, String v2,…) 删除值为v1, v2 , …的元素
jedis.spop(String key) 随机弹出栈set里的一个元素
jedis.scared(String key) 获取set元素个数
jedis.smove(String key1, String key2, String val) 将元素val从集合key1中移到key2中
jedis.sinter(String key1, String key2) 获取集合key1和集合key2的交集
jedis.sunion(String key1, String key2) 获取集合key1和集合key2的并集
jedis.sdiff(String key1, String key2) 获取集合key1和集合key2的差集

jedis对zset操作

语法描述
jedis.zadd(String key,Map map) 添加一个ZSet
jedis.hset(String key,int score , int val) 往 ZSet插入一个元素(Score-Val)
jedis.zrange(String key, int i , int j) 获取ZSet 里下表[i,j] 区间元素Val
jedis. zrangeWithScore(String key,int i , int j) 获取ZSet 里下表[i,j] 区间元素Score - Val
jedis.zrangeByScore(String , int i , int j) 获取ZSet里score[i,j]分数区间的元素(Score-Val)
jeids.zscore(String key,String value) 获取ZSet里value元素的Score
jedis.zrank(String key,String value) 获取ZSet里value元素的score的排名
jedis.zrem(String key,String value) 删除ZSet里的value元素
jedis.zcard(String key) 获取ZSet的元素个数
jedis.zcount(String key , int i ,int j) 获取ZSet总score在[i,j]区间的元素个数
jedis.zincrby(String key,int n , String value) 把ZSet中value元素的score+=n

jedis对hash操作

语法描述
jedis.hmset(String key,Map map) 添加一个Hash
jedis.hset(String key , String key, String value) 向Hash中插入一个元素(K-V)
jedis.hgetAll(String key) 获取Hash的所有(K-V) 元素
jedis.hkeys(String key) 获取Hash所有元素的key
jedis.hvals(String key) 获取Hash所有元素 的value
jedis.hincrBy(String key , String k, int i) 把Hash中对应的k元素的值 val+=i
jedis.hdecrBy(String key,String k, int i) 把Hash中对应的k元素的值 val-=i
jedis.hdel(String key , String k1, String k2,…) 从Hash中删除一个或多个元素
jedis.hlen(String key) 获取Hash中元素的个数
jedis.hexists(String key,String K1) 判断Hash中是否存在K1对应的元素
jedis.hmget(String key,String K1,String K2) 获取Hash中一个或多个元素value
posted @ 2019-10-30 10:51  lfHeartbeat  阅读(840)  评论(0编辑  收藏  举报