redis(二):redis數據類型和java使用jedis

目錄

1. redis數據類型

1.0. redis對KEY操作的命令

1.1 String類型

2.2 Hash類型

2.3  List類型

2.4 Set類型

2.5  Zset類型

2. java使用jedis

2.1.引入jedis依賴

2.2.使用本地redis服務

2.3. 基本類型常用api


1. redis數據類型

redis支持五種數據類型:String,hash,list,set,zset(有序集合)

1.0. redis對KEY操作的命令

exists(key):確認一個key是否存在

del(key):刪除一個key

type(key):返回值的類型

keys(pattern):返回滿足給定pattern的所有key

randomkey:隨機返回key空間的一個

keyrename(oldname, newname):重命名key

dbsize:返回當前數據庫中key的數目

expire:設定一個key的過期時間,可用來修改key的過期時間

ttl:獲得一個key的活動時間

move(key, dbindex):移動當前數據庫中的key到dbindex數據庫

flushdb:刪除當前選擇數據庫中的所有key

flushall:刪除所有數據庫中的所有key

1.1 String類型

String類型是redis最基礎的數據類型,以key-value形式存儲,它是二進制安全的,可以包含任何數據類型,一個鍵最大能存儲512MB,通過get key命令來獲取value,set key value來保存數據。

常用命令

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的子串

2.2 Hash類型

hash類型是一個String類型的field和value的映射表,hget key field獲取數據,hmset key field value,保存數據,可以一次保存多個數據:hmset key field1 value1 field2 value2。

hset 一次設置一個值,hmset 可設置多個值,del刪除所有的key所有的field,hdel key field,刪除指定的field。hgetall key,或者key所有field的值。

常用命令

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

2.3  List類型

list類型是簡單的字符串列表,按照插入的順序。 lpush key value,lrange key 0 10。

常用命令

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的頭部

2.4 Set類型

 set類型是String類型的無序集合,通過hash表實現。sadd key value,成功返回1,如果value已存在,返回0,key 不存在,返回錯誤。smembers key獲取key表中的數據。

常用命令

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的一個元素

2.5  Zset類型

  zset類型是String類型的有序集合,不同的每個元素關聯一個double類型的分數,通過該分數來爲集合中的成員進行從小到大排序,分數可以重複。 zadd key score value新增數據,zrange  key 0 100 (withscores)獲取數據。
 

2. java使用jedis

2.1.引入jedis依賴

<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
</dependency>

2.2.使用本地redis服務

啓動 redis-server

創建redis鏈接:Jedis jedis = new Jedis("localhost");

測試鏈接: jedis.ping(),輸出PONG,鏈接成功。

2.3. 基本類型常用api

2.3.1 String類型

jedis.set(key, value):保存

jedis.get(key):獲取

jedis.incr(key):key對應的value可以轉爲數字,加一

jedis.decr(key):key對應的value可以轉爲數字,減一

jedis.incrBy(key, number):key對應的value可以轉爲數字,加number

jedis.decrBy(key, number):key對應的value可以轉爲數字,減number

2.3.2 list類型

jedis.lpush(key, value):保存

jedis.lrange(key, 0,10):獲取,返回List類型

2.3.3 hash類型

jedis.hset(key, field, value):保存

jedis.hmset(key, Map<K, V> map):保存

jedis.hget(key, field):獲取value

jedis.hmget(key, field1, field2, ...):獲取多個,返回List

jedis.hkeys(key):獲取key的所有fields,返回set

jedis.hgetAll(key):獲取key的所有fields和values,返回Map

2.3.4 set類型

jedis.sadd(key, value):保存

jedis.smembers(key):獲取,返回set

2.3.5  zset類型

Map<String, Doube> map;

jedis.zadd(key, map):保存

jedis.zrange(key, 0, 10):獲取,返回set

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章