锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Redis数据类型-String(字符串类型)

时间:2023-07-03 14:07:01 lmp331液压变送器

String redis 你可以理解最基本的类型 Memcached 一模一样的类型,一 key 对应一个 value
String 类型是二进制安全的,意思是 redis string 可以包含任何数据,如 jpg 图片或序列对象。
String 类型是 redis 最基本的数据类型,一个 redis 中字符串 value 最多可以是 512M
常用命令说明:
#=======================
#set get del append strlen
#=======================
127.0.0.1:6379> set key wyt #设置值
OK
127.0.0.1:6379> get key #获取key
"wyt"
127.0.0.1:6379> del key #删除key
(integer) 1
127.0.0.1:6379> keys * #查看全部key
(empty array)
127.0.0.1:6379> exists key #确保key是否存在
(integer) 0
127.0.0.1:6379> append key wyt #不存在key进行append,等同于set key wyt
(integer) 3 #字符长度
127.0.0.1:6379> append key -lmp-hyd ##现有字符串append
(integer) 11 #长度从3个字符增加到11个字符
127.0.0.1:6379> get key
"wyt-lmp-hyd"
127.0.0.1:6379> strlen key #获取字符串的长度
(integer) 11

#================================
# incr decr 自增 自减 必须是数字才能加减 1 和-1
# incyby decrby 命令将key存储在中间的数字加上指定值
#================================
127.0.0.1:6379> set browse 0 #设置0浏览量
OK
127.0.0.1:6379> incr browse #浏览 1
(integer) 1
127.0.0.1:6379> incr browse #浏览 1
(integer) 2
127.0.0.1:6379> decr browse #浏览 -1
(integer) 1
127.0.0.1:6379> incrby browse 10 #浏览 10
(integer) 11
127.0.0.1:6379> decrby browse -10#浏览 10
(integer) 21
127.0.0.1:6379> decrby browse 10 #浏览 -10
(integer) 11

#================================
# range 【范围】
# getrange 在指定范围内获取值,类似于between...and关系。从0到-1表示一切
#================================
127.0.0.1:6379> set key wyt-lmp-hyd #设置key的值
OK
127.0.0.1:6379> getrange key 0 -1 #获得所有值
"wyt-lmp-hyd"
127.0.0.1:6379> getrange key 0 3 #截取部分字符串
"wyt-"
#=============================
# setrange 在指定范围内设置值,格式为setrange key值 具体值
#=============================
127.0.0.1:6379> get key                      
"wyt-lmp-hyd"
127.0.0.1:6379> setrange key 4 cby            #替换值
(integer) 11
127.0.0.1:6379> get key
"wyt-cby-hyd"
#=============================
# setex(set with expire)键秒值 
# setnx (set if not  exist)
#=============================
127.0.0.1:6379> setex key2 60 yjy                 #设置过期时间
OK
127.0.0.1:6379> ttl key2                                #查看剩余时间
(integer) 56
127.0.0.1:6379> setnx mykey redis                #如果不存在就设置 成功返回1
(integer) 1
127.0.0.1:6379> set mykey gqy                        
OK
127.0.0.1:6379> setnx mykey gqy                #如果存在就设置 失败返回0
(integer) 0        
127.0.0.1:6379> get mykey
"gqy"
#=======================
#  mset     mset命令用于同时设置一个或多个key-value对
#  mget     mget命令如果返回所有(一个或多个)给定key值 
#               如果给定的key里面  有某个key不存在 那么这个key返回特殊值 nil
#  msetnx     当所有key都设置成功  返回1
#                    如果所有给定key都设置失败(至少有一个key已经存在)那么返回0  原子操作
#=======================
127.0.0.1:6379> mset k1 wyt k2 lmp k3 hyd k4 yjy k5 gqy k6 syy
OK
127.0.0.1:6379> keys *
1) "browse"
2) "k5"
3) "key"
4) "k3"
5) "k4"
6) "k2"
7) "k1"
8) "mykey"
9) "k6"
127.0.0.1:6379> mget k1 k2 k3 k4 k5 k6
1) "wyt"
2) "lmp"
3) "hyd"
4) "yjy"
5) "gqy"
6) "syy"
127.0.0.1:6379> mget k10
1) (nil)
127.0.0.1:6379> msetnx k10 by k15 yy   #原子性操作
(integer) 0
127.0.0.1:6379> get k15
(nil)
#传统对象缓存
set user:1 value(json数据)
#可以用来缓存对象
127.0.0.1:6379> mset user:1:name wyt user:1:age 2
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "wyt"
2) "2"
#=============================
# getset  (先get在set)
#=============================

127.0.0.1:6379> getset db mongodb                #没有旧值 返回nil
(nil)
127.0.0.1:6379> get db
"mongodb"
127.0.0.1:6379> getset db redis                       #返回旧值 mongodb
"mongodb"
127.0.0.1:6379> get db
"redis"
String 数据结构是简单的 key-value 类型, value 其实不仅可以是 String ,也可以是数字。
常规 key-value 缓存应用:
常规计数:微博数,粉丝数等。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章