Rumah  >  Artikel  >  pembangunan bahagian belakang  >  五种Redis数据类型简单操作详解

五种Redis数据类型简单操作详解

小云云
小云云asal
2017-12-14 13:32:161203semak imbas

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。本文主要介绍了Redis中五种数据类型简单操作的相关资料,需要的朋友可以参考下,希望能帮助到大家。

Redis中五种数据类型简单操作

提出问题

Redis五种数据类型的简单增删改查命令???

解决问题

假设你已经安装Redis服务器;
假设你已经打开Redis cli命令行工具;
假设你对Redis有所了解;

Redis简单增删改查例子

例一:字符串的增删改查

#增加一个key为ay_key的值
127.0.0.1:6379> set ay_key "ay"
OK
#查询ay_key的值
127.0.0.1:6379> get ay_key
"ay"
#修改ay_key的值
127.0.0.1:6379> set ay_key "new_ay"
OK
127.0.0.1:6379> get ay_key
"new_ay"
#修改ay_key名称
127.0.0.1:6379> rename ay_key new_ay_key
OK
127.0.0.1:6379> keys *
1) "new_ay_key"
#删除ay_key
127.0.0.1:6379> del ay_key
(integer) 0
#查询是否存在ay_key 0
127.0.0.1:6379> exists ay_key
(integer) 0

例二:Set集合的增删改查

#删除当前选择数据库中的所有key
127.0.0.1:6379> flushdb
OK
#生成set集合,添加4个数据
127.0.0.1:6379> sadd set_ay_key "ay" "al" "xy" "xl"
(integer) 4
#查询set里面所有值
127.0.0.1:6379> smembers set_ay_key
1) "xy"
2) "al"
3) "ay"
4) "xl"
#删除value为"xl" , 返回 1 如果没有返回 0
127.0.0.1:6379> srem set_ay_key "xl"
(integer) 1
127.0.0.1:6379> smembers set_ay_key
1) "xy"
2) "al"
3) "ay"
#添加value为"xl"
127.0.0.1:6379> sadd set_ay_key "xl"
(integer) 1
127.0.0.1:6379> smembers set_ay_key
1) "xy"
2) "al"
3) "ay"
4) "xl"
#添加value为"xl" 添加不进去,但也不报错,set是不允许重复的
127.0.0.1:6379> sadd set_ay_key "xl"
(integer) 0
#不多解释
127.0.0.1:6379> sadd set_ay_key "xl"
(integer) 0
#不多解释
127.0.0.1:6379> sadd set_ay_key "xl"
(integer) 0

例三:List集合的增删改查

#添加key为list_ay_key的list集合
127.0.0.1:6379> lpush list_ay_key "ay" "al" "xy" "xl"
(integer) 4
#查询key为list_ay_key的集合
127.0.0.1:6379> lrange list_ay_key 0 -1
1) "xl"
2) "xy"
3) "al"
4) "ay"
#往list尾部添加元素
127.0.0.1:6379> rpush list_ay_key "together"
(integer) 5
#往list头部添加元素
127.0.0.1:6379> lpush list_ay_key "first"
(integer) 6
#查询list集合
127.0.0.1:6379> lrange list_ay_key 0 -1
1) "first"
2) "xl"
3) "xy"
4) "al"
5) "ay"
6) "together"
#更新index为0的值  
127.0.0.1:6379> lset list_ay_key 0 "update_first"
OK
127.0.0.1:6379> lrange list_ay_key 0 -1
1) "update_first"
2) "xl"
3) "xy"
4) "al"
5) "ay"
6) "together"
#删除index为1上的值
127.0.0.1:6379> lrem list_ay_key 1 "update_first"
(integer) 1
127.0.0.1:6379> lrange list_ay_key 0 -1
1) "xl"
2) "xy"
3) "al"
4) "ay"
5) "together"

例四:Hash集合(类似Java)的增删改查

127.0.0.1:6379> flushdb
OK
#生成hash集合,并添加key 为uuid_one value 为"12345"
127.0.0.1:6379> hset hash_ay_key "uuid_one" "12345"
(integer) 1
127.0.0.1:6379> hlen hash_ay_key
(integer) 1
#返回集合所有的key
127.0.0.1:6379> hkeys hash_ay_key
1) "uuid_one"
#返回集合所有value
127.0.0.1:6379> hvals hash_ay_key
1) "12345"
#集合添加值
127.0.0.1:6379> hset hash_ay_key "uuid_two" "22222"
(integer) 1
#集合添加值
127.0.0.1:6379> hset hash_ay_key "uuid_three" "33333"
(integer) 1
#获得key为uuid_one的值
127.0.0.1:6379> hget hash_ay_key uuid_one
"12345"
#删除key为uuid_three的值
127.0.0.1:6379> hdel hash_ay_key uuid_three
(integer) 1
127.0.0.1:6379> hkeys hash_ay_key
1) "uuid_one"
2) "uuid_two"
#获得所有,包括key和value
127.0.0.1:6379> hgetall hash_ay_key
1) "uuid_one"
2) "12345"
3) "uuid_two"
4) "22222"
#更新key为uuid_one的值
127.0.0.1:6379> hset hash_ay_key uuid_one "11111"
(integer) 0
127.0.0.1:6379> hset hash_ay_key "uuid_one" "11111"
(integer) 0
127.0.0.1:6379> hgetall hash_ay_key
1) "uuid_one"
2) "11111"
3) "uuid_two"
4) "22222"

例五:SortedSet集合的增删改查

SortedSet是有序的set集合

#sorted set添加值ay 排序值为 1
127.0.0.1:6379> zadd zset_ay_key 1 "ay"
(integer) 1
127.0.0.1:6379> zadd zset_ay_key 2 "al"
(integer) 1
127.0.0.1:6379> zadd zset_ay_key 3 "xy"
(integer) 1
127.0.0.1:6379> zadd zset_ay_key 4 "xl"
(integer) 1
#查询所有的值
127.0.0.1:6379> zrange zset_ay_key 0 -1
1) "ay"
2) "al"
3) "xy"
4) "xl"
#删除所有的值
127.0.0.1:6379> zrem zet_ay_key "xl"
(integer) 0
127.0.0.1:6379> zrange zset_ay_key 0 -1
1) "ay"
2) "al"
3) "xy"
4) "xl"

相关推荐:

Redis数据类型

Redis数据类型及操作

Redis数据类型与指令详解之集合(t_set)

Atas ialah kandungan terperinci 五种Redis数据类型简单操作详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Redis优化经验总结Artikel seterusnya:正确解redis锁的方法