设为首页 加入收藏

TOP

Redis常用五大数据类型(一)
2018-12-12 02:10:45 】 浏览:404
Tags:Redis 常用 五大数据 类型

1.String(字符串)

string是redis最基本的类型,一个key对应一个value string类型是二进制安全的,意思是redis的string可以包含任何数据,如jpg图片或者序列化的对象。 string类型是redis最基本的数据类型,一个redis中字符串value最大允许512m

常见指令

1 set/get/del/append/strlen

set:设置键值 get:由键得到值 del:删除键值 append:为对应键的值后面添加数据 strlen:由键得到值的长度

127.0.0.1:6379> set k1 k1

OK

127.0.0.1:6379> get k1

"k1"

127.0.0.1:6379> get k1

"k1"

127.0.0.1:6379> key *

(error) ERR unknown command 'key'

127.0.0.1:6379> KEYS *

1) "k1"

127.0.0.1:6379> del k1

(integer) 1

127.0.0.1:6379> KEYS *

(empty list or set)

127.0.0.1:6379> set k1 123

OK

127.0.0.1:6379> append k1 456

(integer) 6

127.0.0.1:6379> get k1

"123456"

127.0.0.1:6379> strlen k1

(integer) 6

2 incr/decr/incrby/decrby

incr:值加一 decr:值减一 incrby:值增加指定大小 decrby:值减少指定大小

127.0.0.1:6379> set k2 1

OK

127.0.0.1:6379> INCR k2

(integer) 2

127.0.0.1:6379> INCR k2

(integer) 3

127.0.0.1:6379> INCR k2

(integer) 4

127.0.0.1:6379> DECR k2

(integer) 3

127.0.0.1:6379> DECR k2

(integer) 2

127.0.0.1:6379> DECR k2

(integer) 1

127.0.0.1:6379> INCRBY k2 3

(integer) 4

127.0.0.1:6379> INCRBY k2 3

(integer) 7

127.0.0.1:6379> INCRBY k2 3

(integer) 10

127.0.0.1:6379> INCRBY k2 3

(integer) 13

127.0.0.1:6379> DECRBY k2 2

(integer) 11

127.0.0.1:6379> DECRBY k2 2

(integer) 9

127.0.0.1:6379> DECRBY k2 2

(integer) 7

3 getrange/setrange

getrange:由键得到指定范围内的值 setrange:从指定开始,覆盖设置值

127.0.0.1:6379> set k3 123456789

OK

127.0.0.1:6379> get k3

"123456789"

127.0.0.1:6379> GETRANGE k3 0 -1

"123456789"

127.0.0.1:6379> GETRANGE k3 0 5

"123456"

127.0.0.1:6379> GETRANGE k3 3 7

"45678"

127.0.0.1:6379> set k3 0 xxx

(error) ERR syntax error

127.0.0.1:6379> SETRANGE k3 0 xxx

(integer) 9

127.0.0.1:6379> get k3

"xxx456789"

4 setex(set with expire)/setnx(set if not exist)

setex:设置键值,并指定存活时间 setnx:提供键存在返回0,并不设置键值;若键不存在返回1,并设置键值

127.0.0.1:6379> SETEX k4 10 v4

OK

127.0.0.1:6379> get k4

"v4"

127.0.0.1:6379> ttl k4

(integer) 0

127.0.0.1:6379> ttl k4

(integer) -2

127.0.0.1:6379> get 4k

(nil)

127.0.0.1:6379> get k4

(nil)

127.0.0.1:6379> setnx k3 v33

(integer) 0

127.0.0.1:6379> get k3

"xxx456789"

127.0.0.1:6379> SETNX k5 v5

(integer) 1

127.0.0.1:6379> get k5

"v5"

5 mset/mget/msetnx

mset:成批设置键值 mget:成批获得值 msetnx:成批查重设置键值

127.0.0.1:6379> mset kk1 vv1 kk2 vv2 kk3 vv3

OK

127.0.0.1:6379> mget kk1 kk2 kk3

1) "vv1"

2) "vv2"

3) "vv3"

127.0.0.1:6379> MSETNX kk1 vvv1 kk2 vvv2

(integer) 0

127.0.0.1:6379> MSETNX kk1 vvv1 kk4 vv4

(integer) 0

127.0.0.1:6379> MSETNX kk4 vv4 kk5 vv5

(integer) 1

6 getset

getset:先get再set,返回原来的值,没有返回nil,并覆盖设置新的值

127.0.0.1:6379> getset k6 v6

(nil)

127.0.0.1:6379> get k7

(nil)

127.0.0.1:6379> getset k7 v7

(nil)

127.0.0.1:6379> get k7

"v7"

127.0.0.1:6379> getset k7 v77

"v7"

127.0.0.1:6379> get k7

"v77"

2.Hash(哈希,类似java里的map)

redis hash是一个键值对集合 redis hash是一个string类型的field和value的映射表,hash特别适合用于储存对象。 类似java里面的map

常用指令

1 hset/hget/hmset/hmget/hgetall/hdel

hset key key1 value:设置一个Hash,是一个键值对,键为key;值又是一个键值对,键为key1,值为value

hget key key1:获得一个值。

hmset k

首页 上一页 1 2 3 4 5 6 下一页 尾页 1/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇RedisNOSQL和Redis五大数据结构入.. 下一篇MySQL用户账户管理与权限管理详解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目