Redis 数据库常用指令(Jedis常用方法)

    本文主要对于Redis在java中常做与缓存数据库,因为其单线程存储的方式和在存储在内存中的读写速度而火,在处理高并发时游刃有余,下面就说下常用的集中数据类型的指令和方法

 

具体代码:

点击打开链接

 String
类型
key : String
类型value :String类型

     格式 : 方法名(指令格式)

set(set key value)

Redis中添加一条String类型的数据set设置相同的键时,后一个值会覆盖前面的值

get(get key)

通过key键获取队形数据

setnx(setnx key value)

nx: 表示not exists的意思,如果key不存在就设置,如果存在就不进行设置

setrange(setrange key startIndex vlaue)

表示把指定的key的值从开始索引开始

value这个值进行替换

mset(mset key1 value1 key2 value2 ...)

批量设置键值对

getset(getset key newValue)

获取key的值然后设置新的值

getrange(getrange key startIndex endIndex)

获取数最后一个值的索引为-1

mget(mget key1 key2 key3...)

批量获取

incr(incr key)

通过key是的对应的value数值+1value必须是数字型的字符串,例如: "100"

incrby(incrby key num)

指定增减的数量value必须是数字型的字符串,例如: "100"

decr(decr key)

通过key是的对应的value数值+1value必须是数字型的字符串,例如: "100"

decrby(decrby key num)

指定自增减的数量value必须是数字型的字符串,例如: "100"

append(append key value)

给指定的字符串追加value的值

strlen(strlen key)

获取指定的key对应的值得长度

msetnx(msetnx key1 value1 key2 value2...)

如果key已存在那么设置失败



List
类型

list
的数据结构是一个链表的结构list类似于Java中的List集合有序,元素可以重复

lpush(lpush key value1 value2 ...)

list集合中压入元素


linsert(linsert key before/after value newValue)

在指定的元素前或者后插入元素


lset(lset key index newValue)

设置指定下标的值


lrem(lrem key count value)

删除count个于value相同的元素count>0从开始位置进行删除count<0从末尾开始删除,count=0删除所有的

ltrim(ltrim key startIndex

endIndex)

删除指定范围内以外的元素,保留指定范围内的元素

lpop(lpop key)

list的头部删除元素

lindex(lindex key index)

返回指定索引处的元素

llen(llen key)

返回列表的长度

rpush(rpush key value)

从末尾压入元素

rpop(rpop key)

从末尾删除元素

rpoplpush(rpoplpush key1 key2)

key1链表中弹出最后一个元素然后压入到key2链表中

 

 

Hash类型

 hash
特别适用于存储对象, 将一个对象存在hash中相对于存储在String可以节省更多的内存.

hset(hset key field value) 

给指定的key添加key-value元素

hget(hget key field)

获取指定的keyfiled字段的值

hsetnx(hsetnx key field value)

如果key不存在进行插入
如果keyfield都存在不进行插入

hexists(hexists key field)

判断指定的key中是否存在field这个字段

hlen(hlen key) 

获取指定的key中字段的数量

hdel(hdel key field1 field2...)

删除指定的key中的指定的字段的和对应的值

hincrby(hincrby key filed count)

给指定的keyfield的字段添加或者减去count这个值

hgetall(hgetall key)

获取key中所有的键值对,返回的是一个键一个值

hkeys(hkeys key)

获取指定的key中所有的字段 

hmget(hmget key field1

field2...)

获取指定的key中指定字段的值 

hmset(hmset key field1 value1 field2 value2...)

同时设置多个键值对数据

hvals(hvals key)

获取指定的key中所有的value

hincrbyfloat(hincrbyfloat key field value)

给指定的字段添加浮点数的值

这些都是常用的3个数据类型主要的API,后续还会更新Set,SortedSet数据型的API,希望能帮助到你

Set(类似于Java中的Set)

无序 , 元素唯一

sadd(sadd key member1 member2...)

添加元素

scard(scard key)

获取成员的数量

sismember(sismember key member)

判断是否存在member这个成员

smembers(smembers key)

获取所有的成员

spop(spop key)

随机弹出一个成员

srandmember(srandmember key

 [count])

随机获取一个或者多个成员

srem(srem key member1

 member2 ....)

移动一个成员到指定的set

smove(smove source desition member)

删除一个或者多个成员,如果成员不存在则忽略

sdiff(sdiff first-key key1 key2...)

返回给定集合之间的差集。不存在的集合 key将视为空集

sdiffstore(sdiffstore destionset key1 key2 ....)

把获取到的差集保存到目标set

sinter(sinter key1 key2....)

获取交集

sinterstore(sinterstore destionset key1 key2....)

把获取到的交集存储到目标set

sunion(sunion key1 key2...)

获取并集

sunionstore(sunionstore destionset key1 key2...)

把获取到的并集存储到目标set

SortedSet(和Set类似但是可以排序)

 

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

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

有序集合的成员是唯一的,但分数(score)却可以重复。

 

 

 

 

 

 

 

zadd(zadd key score1 member1 score2 member2...)

添加成员

Redis Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。

如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。

分数值可以是整数值或双精度浮点数。

如果有序集合 key不存在,则创建一个空的有序集并执行 ZADD操作。

key存在但不是有序集类型时,返回一个错误。

注意: Redis 2.4版本以前, ZADD 每次只能添加一个元素。

 

zcard(zcard key)

 

 

计算元素个数

 

 

zincrby(zincrby key number member)

给指定的member的分数添加或者减去number这个值

Redis Zincrby 命令对有序集合中指定成员的分数加上增量 increment

可以通过传递一个负数值 increment,让分数减去相应的值,比如 ZINCRBY key -5 member,就是让 member score 值减去 5

key不存在,或分数不是 key的成员时, ZINCRBY key increment member等同于 ZADD key increment member

key不是有序集类型时,返回一个错误。

分数值可以是整数值或双精度浮点数。

 

 zcount(zcount key min max)

获取分数在minmax之间的成员和数量;默认是闭区间; 想不包含可以: (min (max

zrange(zrange key

start stop [WITHSCORES])

返回指定排名之间的成员(结果是分数由低到高)

排名以0开始

zrevrange(zrevrange key

start stop [WITHSCORES])

返回指定排名之间的成员(结果是分数由高到低)

zrangebyscore(zrangebyscore

 key min max [withscores] [limit offset count])

根据分数的范围获取成员(按照分数:从低到高)

zrevrangebyscore(zrevrangebyscore key max min [withscores]

 [limit offset count])

根据分数的范围获取成员(从高到低)

zrank(zrank key member)

返回一个成员的排名(从低到高的顺序)

zrevrank(zrevrank key member)

返回一个成员的排名(从高到低)

zscore(zscore key member)

获取一个成员的分数

zrem(zrem key member1 member2...)

删除指定的成员

zremrangebyrank(zremrangebyrank key start stop)

根据排名进行删除

zremrangebyscore(zremrangebyscore key min max)

根据分数的范围进行删除

 

第一次发帖,感谢观看

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值