redis数据库01

set  mset  get  mget  setex //  incr decr  incrby  decrby  //  append  strlen // keys exists  type del  expire ttl  17

hset  hget  hmset  hmget  hgetall  hkeys  hvals   hlen //hexists  hdel  hstrlen  11

lpush  rpush  linsert  lset rpop lpop // lrange  ltrim llen  lindex 10

sadd  smembers scard  // sinter sdiff sunion //sismember  7

zadd  zrange   zcard   zcount    zscore 5

dump序列化   move移动到其他数据库  persist 用于移除给定 key 的过期时间,使得 key 永不过期 pttl 

auth  密码   redis-server  redis.conf(配置文件)连接服务器 redis-cli -h 192.168.15.40 连接客户端

  string 字符串

 string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。

 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。

 string类型是Redis最基本的数据类型,一个键最大能存储512MB  

C:\Users\Administrator>redis-cli -h 192.168.15.40
192.168.15.40:6379> set id 1
OK
192.168.15.40:6379> get id
"1"
192.168.15.40:6379> mset name lzj gender nv age 20
OK
192.168.15.40:6379> mget id name gender age
1) "1"
2) "lzj"
3) "nv"
4) "20"
192.168.15.40:6379> setex addr 10 zhengzhou
OK
192.168.15.40:6379> get addr
"zhengzhou"
192.168.15.40:6379> get addr
(nil)
192.168.15.40:6379> incr age
(integer) 21
192.168.15.40:6379> incrby age 10
(integer) 31
192.168.15.40:6379> decr age
(integer) 30
192.168.15.40:6379> decrby age 20
(integer) 10
192.168.15.40:6379> append addr zhengzhou
(integer) 9
192.168.15.40:6379> strlen addr
(integer) 9
192.168.15.40:6379> strlen age
(integer) 2
192.168.15.40:6379> keys *a*
1) "age"
2) "addr"
3) "name"
192.168.15.40:6379> exists age id name addr
(integer) 4
192.168.15.40:6379> exists age id name addr aa
(integer) 4
192.168.15.40:6379> type id
string
192.168.15.40:6379> del addr
(integer) 1
192.168.15.40:6379> get addr
(nil)
192.168.15.40:6379> mget gender age
1) "nv"
2) "10"
192.168.15.40:6379> del gender age
(integer) 2
192.168.15.40:6379> mget gender age
1) (nil)
2) (nil)
192.168.15.40:6379> expire name 10
(integer) 1
192.168.15.40:6379> ttl name
(integer) 5
192.168.15.40:6379> ttl name
(integer) 2
192.168.15.40:6379> ttl name
(integer) -2
192.168.15.40:6379> exists name
(integer) 0
192.168.15.40:6379>

  hash 哈希

  Redis hash 是一个键值对集合。

  Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。



C:\Users\Administrator>redis-cli -h 192.168.15.40
192.168.15.40:6379> hset obj name lzj
(integer) 1
192.168.15.40:6379> hget obj name
"lzj"
192.168.15.40:6379> hmset obj gender nv age 20
OK
192.168.15.40:6379> hmget obj name gender age
1) "lzj"
2) "nv"
3) "20"
192.168.15.40:6379> hgetall obj
1) "name"
2) "lzj"
3) "gender"
4) "nv"
5) "age"
6) "20"
192.168.15.40:6379> hkeys obj
1) "name"
2) "gender"
3) "age"
192.168.15.40:6379> hvals obj
1) "lzj"
2) "nv"
3) "20"
192.168.15.40:6379> hlen obj
(integer) 3
192.168.15.40:6379> hexists obj name
(integer) 1
192.168.15.40:6379> hexists obj aaa
(integer) 0
192.168.15.40:6379> hdel obj gender
(integer) 1
192.168.15.40:6379> hexists obj gender
(integer) 0
192.168.15.40:6379> hstrlen obj name
(integer) 3
192.168.15.40:6379>

  list 列表

  Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。


C:\Users\Administrator>redis-cli -h 192.168.15.40
192.168.15.40:6379> lpush list 3 2 1
(integer) 3
192.168.15.40:6379> rpush list 4 5 6
(integer) 6
192.168.15.40:6379> linsert list after 3 3.5
(integer) 7
192.168.15.40:6379> linsert list before 3 2.5
(integer) 8
192.168.15.40:6379> lset list 0 10
OK
192.168.15.40:6379> rpop list
"6"
192.168.15.40:6379> lpop list
"10"
192.168.15.40:6379> lrange list 0 4
1) "2"
2) "2.5"
3) "3"
4) "3.5"
5) "4"
192.168.15.40:6379> ltrim list 2 3
OK
192.168.15.40:6379> lrange list 0 4
1) "3"
2) "3.5"
192.168.15.40:6379> llen list
(integer) 2
192.168.15.40:6379> lindex list 1
"3.5"
192.168.15.40:6379>

 set 集合  (无序集合)

 Redis的Set是string类型的无序集合。

 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。


C:\Users\Administrator>redis-cli -h 192.168.15.40
192.168.15.40:6379> sadd s1 a b c
(integer) 3
192.168.15.40:6379> smembers s1
1) "c"
2) "b"
3) "a"
192.168.15.40:6379> scard s1
(integer) 3
192.168.15.40:6379> sadd s2 c d e
(integer) 3
192.168.15.40:6379> sinter s1 s2
1) "c"
192.168.15.40:6379> sdiff s1 s2
1) "b"
2) "a"
192.168.15.40:6379> sdiff s2 s1
1) "e"
2) "d"
192.168.15.40:6379> sunion s1 s2
1) "b"
2) "a"
3) "c"
4) "e"
5) "d"
192.168.15.40:6379> sismember s1 a
(integer) 1
192.168.15.40:6379> sismember s1 aa
(integer) 0
192.168.15.40:6379>

  zset (有序集合)

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

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

 zset的成员是唯一的,但分数(score)却可以重复。


C:\Users\Administrator>redis-cli -h 192.168.15.40
192.168.15.40:6379> zadd zs1 10 a
(integer) 0
192.168.15.40:6379> zadd zs1 10 a
(integer) 1
192.168.15.40:6379> zadd zs1 20 b
(integer) 1
192.168.15.40:6379> zadd zs1 30 c 1 d
(integer) 2
192.168.15.40:6379> zrange zs1 0 3
1) "d"
2) "a"
3) "b"
4) "c"
192.168.15.40:6379> zcard zs1
(integer) 4
192.168.15.40:6379> zcount zs1 0 100
(integer) 4
192.168.15.40:6379> zcount zs1 20 25
(integer) 1
192.168.15.40:6379> zcount zs1 25 30
(integer) 1
192.168.15.40:6379> zscore zs1 a
"10"
192.168.15.40:6379>

猜你喜欢

转载自blog.csdn.net/qq_42664045/article/details/86628026