600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Redis的五大基本数据类型

Redis的五大基本数据类型

时间:2023-10-15 16:41:07

相关推荐

Redis的五大基本数据类型

有关Redis-Key的一些常用命令

127.0.0.1:6379> set name zzdOK127.0.0.1:6379> get name"zzd"127.0.0.1:6379> EXISTS name判断当前key——name是否存在(integer) 1127.0.0.1:6379> move name 1移除name(integer) 1127.0.0.1:6379> get name(nil)127.0.0.1:6379> keys *(empty array)127.0.0.1:6379> set 34 iiiiOK127.0.0.1:6379> set 20 sjdoihflOK127.0.0.1:6379> EXPIRE 20 10为key——20设置10s后过期(integer) 1127.0.0.1:6379> ttl 20查看20还剩下多长时间过期,-2代表已经删除(integer) -2127.0.0.1:6379> keys *1) "34"127.0.0.1:6379> get 20(nil)127.0.0.1:6379> TYPE 34查看当前key的类型string

String

127.0.0.1:6379> APPEND key1 "nihao"为key——key1后追加字符串,如果没有当前key,就相当于set key(integer) 7127.0.0.1:6379> get key1"v1nihao"127.0.0.1:6379> STRLEN key1获取key的长度(integer) 7127.0.0.1:6379> **************************************127.0.0.1:6379> set views 0OK127.0.0.1:6379> get views"0"127.0.0.1:6379> incr views自增1(integer) 1127.0.0.1:6379> incr views(integer) 2127.0.0.1:6379> decr views自减1(integer) 1127.0.0.1:6379> decr views(integer) 0127.0.0.1:6379> INCRBY views 10自增10(integer) 10127.0.0.1:6379> get views"10"127.0.0.1:6379> DECRBY views 8自减8(integer) 2127.0.0.1:6379> get views"2"*******************************************127.0.0.1:6379> get key1"v1nihao"127.0.0.1:6379> GETRANGE key1 0 3获得key1字符串的子串从0到3"v1ni"127.0.0.1:6379> GETRANGE key1 0 -1获得key1字符串全部的串"v1nihao"*&*************************************127.0.0.1:6379> get k2"abcdefg"127.0.0.1:6379> SETRANGE k2 1 xx从字符串1处开始字符串替换(integer) 7127.0.0.1:6379> get k2"axxdefg"**********************************************# setex设置过期时间# setnx (set if not exist) 不存在设置 (在分布式锁中使用)127.0.0.1:6379> setex yy 10 ojdijdhjsetex key seconds valuesOK127.0.0.1:6379> setnx 888 "ssss"(integer) 1127.0.0.1:6379> get 888"ssss"127.0.0.1:6379> setnx 888 "ssss"(integer) 0**************************************************同时设置、获取多个值mset、mget127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3OK127.0.0.1:6379> keys *1) "k2"2) "k1"3) "k3"127.0.0.1:6379> mget k1 k2 k31) "v1"2) "v2"3) "v3"127.0.0.1:6379> msetnx k1 v1 k4 v4#msetnx是一个原子操作,要么一起成功,要么一起失败(integer) 0*****************************************************getset127.0.0.1:6379> getset 78 "ssss"(nil)127.0.0.1:6379> getset 78 "uuuu""ssss"127.0.0.1:6379> get 78"uuuu"

String使用场景:除了字符串,还可以作为数值,使用INCRBY 或DECRBY进行计算。

List

基本的数据类型,列表。可以将list作为栈、队列、阻塞队列。

所有list命令均是l开头的

127.0.0.1:6379> LPUSH list one#LPUSH 将一个或多个值插入到列表头部(integer) 1127.0.0.1:6379> LPUSH list two(integer) 2127.0.0.1:6379> LPUSH list three(integer) 3127.0.0.1:6379> LRANGE list 0 -1#获取列表内所有的值1) "three"2) "two"3) "one"127.0.0.1:6379> LRANGE list 0 1#获取列表内0-1的值1) "three"2) "two"127.0.0.1:6379> RPUSH list four#RPUSH 将一个或多个值插入到列表尾部(integer) 4127.0.0.1:6379> LRANGE list 0 -11) "three"2) "two"3) "one"4) "four"###################################################LPOP、RPOP127.0.0.1:6379> LPOP list移除list头元素"three"127.0.0.1:6379> RPOP list移除list尾元素"four"127.0.0.1:6379> LRANGE list 0 -11) "two"2) "one"127.0.0.1:6379> RPOP list 2 移除list尾2个元素1) "one"2) "two"127.0.0.1:6379> LRANGE list 0 -1(empty array)####################################################127.0.0.1:6379> LPUSH list 1 2 3(integer) 3127.0.0.1:6379> lindex list 0 通过下标获得list中的某个值"3"127.0.0.1:6379> lindex list 1"2"##################################################127.0.0.1:6379> LLEN list 获得list中的元素个数(integer) 3##################################################移除具定的值LREM list 1 one移除list集合内的one元素一次127.0.0.1:6379> LRANGE list 0 -11) "five\\"2) "four"3) "three"4) "two"5) "one"6) "one"127.0.0.1:6379> LREM list 1 one(integer) 1127.0.0.1:6379> LRANGE list 0 -11) "five\\"2) "four"3) "three"4) "two"5) "one"##################################################trim修剪127.0.0.1:6379> LTRIM list 2 4通过下标截取[2,4]的元素OK127.0.0.1:6379> LRANGE list 0 -11) "three"2) "two"3) "one"################################################rpoplpush 源列表 目标列表 lpoprpush 源列表 目标列表################################################lset list 0 "item"将列表中指定下标的值替换成为另一个值,更新操作如果不存在,则报错################################################linsert 插入一个值到列表中某个元素的前面或后面LINSERT list before "two" "io"在list中的"two"元素前插入一个元素"io"LINSERT list after "io" "io1"在list中的"io"元素后插入一个元素"io1"

Set(集合)

set中的值不可以重复,

127.0.0.1:6379> SADD myset "23"向集合中添加元素(integer) 1127.0.0.1:6379> SADD myset "24"(integer) 1127.0.0.1:6379> SADD myset "24"(integer) 0127.0.0.1:6379> SMEMBERS myset 查看集合中所有的值1) "24"2) "kjkijk"3) "23"127.0.0.1:6379> SISMEMBER myset "hello" 判断“hello”是否为myset集合内的元素(integer) 0127.0.0.1:6379> SCARD myset 获取myset集合中元素的个数(integer) 3127.0.0.1:6379> srem myset "24"移除myset中的"24"元素(integer) 1127.0.0.1:6379> SISMEMBER myset "24"(integer) 0127.0.0.1:6379> SRANDMEMBER myset 1 从myset集合中随机选取1个元素1) "kjkijk"127.0.0.1:6379> SRANDMEMBER myset 11) "23"127.0.0.1:6379> SRANDMEMBER myset 2从myset集合中随机选取2个元素1) "kjkijk"2) "23"########################################################删除指定的key,随机删除key127.0.0.1:6379> spop myset 随机删除一些集合中的元素"23"127.0.0.1:6379> SMEMBERS myset1) "kjkijk"########################################################将集合中的一个元素移动到另一个集合中SMOVE set1 set2 "222"将set1集合中的“222”元素移动到set2集合中127.0.0.1:6379> SADD set1 "111" "222" "333"(integer) 3127.0.0.1:6379> SADD set2 "11" "22" "33"(integer) 3127.0.0.1:6379> SMOVE set1 set2 "222"(integer) 1127.0.0.1:6379> SMEMBERS set21) "11"2) "22"3) "33"4) "222"########################################################集合的差集、交集、并集SDIFF set1 set2 差集SINTER set1 set2 交集SUNION set1 set2 并集127.0.0.1:6379> SADD set2 "11" "22" "33"(integer) 3127.0.0.1:6379> SADD set1 "111" "222" "333"(integer) 3127.0.0.1:6379> SADD set2 "222"(integer) 1127.0.0.1:6379> SDIFF set1 set21) "111"2) "333"127.0.0.1:6379> SINTER set1 set21) "222"127.0.0.1:6379> SUNION set1 set21) "11"2) "22"3) "33"4) "111"5) "222"6) "333"

Hash

Map集合,key-value,key-map

本质和String类型没有太大区别,还是一个简单的key-value

hset myhash field1 “zzd” 设置一个具体的key-value

hmset myhash filed3 “sss” filed4 “world” 设置多个key-value

hmset myhash filed3 “sss” filed4 “world” 获得多个key-value

hget myhash field2 获取某个具体的key-value

127.0.0.1:6379> hset myhash field1 "zzd"(integer) 1127.0.0.1:6379> hset myhash field2 "zk"(integer) 1127.0.0.1:6379> hget myhash field1"zzd"127.0.0.1:6379> hget myhash field2"zk"127.0.0.1:6379> hget myhash field3(nil)127.0.0.1:6379> hmset myhash filed3 "sss" filed4 "world"OK127.0.0.1:6379> hmget myhash filed3 filed41) "sss"2) "world"127.0.0.1:6379> hgetall myhash获得hash中所有值1) "field1"2) "zzd"3) "field2"4) "zk"5) "filed3"6) "sss"7) "filed4"8) "world"###############################################127.0.0.1:6379> hdel myhash filed3删除集合中某个指定的key(integer) 1127.0.0.1:6379> hlen myhash获得hash集合大小(integer) 3#####################################################127.0.0.1:6379> HEXISTS myhash field2判断hash中是否存在某个key(integer) 1127.0.0.1:6379> HEXISTS myhash field(integer) 0#################################################127.0.0.1:6379> hkeys myhash获得hash集合中所有的key1) "field1"2) "field2"3) "filed4"127.0.0.1:6379> hvals myhash获得hash集合中所有的value1) "zzd"2) "zk"3) "world"###############################################127.0.0.1:6379> hset myhash num1 "5"(integer) 1127.0.0.1:6379> hset myhash num2 "3"(integer) 1127.0.0.1:6379> HINCRBY myhash num1 1将hash中的数值增加1(integer) 6127.0.0.1:6379> HGET myhash num1"6"127.0.0.1:6379> HINCRBY myhash num1 -1将hash中的数值增加-1(integer) 5127.0.0.1:6379> HGET myhash num1"5"127.0.0.1:6379> HSETNX myhash num1 2如果hash中不存在key-num1,将设置num1为2(integer) 0127.0.0.1:6379> HSETNX myhash num3 2如果hash中不存在key-num3,将设置num3为2(integer) 1127.0.0.1:6379> hget myhash num3"2"

hash更适合于对象的存储,String更适合字符串存储

Zset(有序集合)

在set基础上增加了一个值,zset k1 score1 v1

127.0.0.1:6379> zadd myzset 1 one向myzset有序集合中增加元素(integer) 1127.0.0.1:6379> zadd myzset 2 two 3 three增加多个(integer) 2127.0.0.1:6379> ZRANGE myzset 0 -1查看所有元素1) "one"2) "two"3) "three"###############################################127.0.0.1:6379> ZRANGEBYSCORE myzset -inf +inf对zset集合中的元素按照score进行升序排列1) "one"2) "two"3) "three"127.0.0.1:6379> ZRANGEBYSCORE myzset -inf +inf withscores 对zset集合中的元素按照score进行升序排列并显示数值1) "one"2) "1"3) "two"4) "2"5) "three"6) "3"127.0.0.1:6379> ZRANGEBYSCORE myzset 1 2 withscores对zset集合中的在[1,2]的元素按照score进行升序排列1) "one"2) "1"3) "two"4) "2"127.0.0.1:6379> ZREVRANGEBYSCORE myzset +inf -inf对zset集合中的元素按照score进行降序排列1) "three"2) "two"3) "one"##############################################127.0.0.1:6379> zrem myzset one移除集合中的指定元素(integer) 1127.0.0.1:6379> ZRANGE myzset 0 -11) "two"2) "three"127.0.0.1:6379> ZCARD myzset获取有序集合中的个数(integer) 2127.0.0.1:6379> zcount myzset 1 2统计有序集合中在[1,2]中的元素个数(integer) 1127.0.0.1:6379> zcount myzset 3 5(integer) 1

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。