redis 数据类型——key String Set

    Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存储,适应高并发的应用场景。它起步较晚,发展迅速

    redis相对于Memcached 来说, redis 支持的数据类别非常多, 如: key string set hashSet sortedSet list 
  • Keys

    保存的是key-value db,一般是存贮一些简单静态的时候
     key 尽量不要太长,不然存贮会影响key 值查询同时也是影响key存贮空间;
    
del  删除指定key
dump 序列号key 值
expire 设置失效时间(时间毫秒)
expireat  设置到时间点失效
exists key  设置存在key值
persist     清除失效时间
pexpire     清除定点失效


----------


TTL
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。

127.0.0.1:6379> TTL myname 
(integer) -1


----------


TYPE 判断返回值类型
none (key不存在)
string (字符串)
list (列表)
set (集合)
zset (有序集)
hash (哈希表)

127.0.0.1:6379> type myname
string


  • String– 字符串

APPEDD 
如果 key 已经存在并且是一个字符串,value 追加到 key 原来的值的末尾。
如果 key 不存在,简单地将给定 key 设为 value 

127.0.0.1:6379> append mygirl aliv
(integer) 4
127.0.0.1:6379> get mygirl
"aliv"
127.0.0.1:6379> 


----------


DECR key key 中储存的数字值减一


127.0.0.1:6379> set money 50000000000
OK
127.0.0.1:6379> decr money
(integer) 49999999999


----------

DECRBY key decrement
将 key 所储存的值减去减量 decrement 
如key 不存在,那么 key 的值会先被初始化为 0
127.0.0.1:6379>  exists page
(integer) 0
127.0.0.1:6379> decrby page 10
(integer) -10


----------
GET keykey 所关联的字符串值
如 key 不存在那么返回特殊值 nil 


----------
GETRANGE key start endkey 中字符串值的子字符串,字符串的截取范围
127.0.0.1:6379> get myname
"eaosn_hoo"
127.0.0.1:6379> getrange myname 0 4
"eaosn"

----------
GETSET key value 
返回key最原始的值,如没有返回nil
127.0.0.1:6379> getset db redis
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> getset db mysql
"redis"


----------
NCR key
key 中储存的数字值增一
如key 不存在,那么 key 的值会先被初始化为 0
127.0.0.1:6379> incr page
(integer) -9
127.0.0.1:6379> incr page
(integer) -8


----------
INCRBY key increment 
key 指定提升值
127.0.0.1:6379> incr page
(integer) -8
127.0.0.1:6379> incrby page 20
(integer) 12


----------
MSET key value [key value ...](注:原子操作)
同时设置一个或多个 key-value 对。
如果 key 已经存在,MSET 会用新值覆盖原来值

127.0.0.1:6379> mset myname 'eason' myage '24' mygirl 'alige'
OK
127.0.0.1:6379> keys *
1) "myage"
2) "myname"
3) "mygirl"


----------
MGET key [key ...](注:原子性操作)
返回所有(一个或多个)给定 key 的值。
如某个 key 不存在,那么这个 key 返回特殊值 nil 
127.0.0.1:6379> mget myage myname mygirl
1) "24"
2) "eason"
3) "alige"


----------
MSETNX key value [key value ...]
设置一个或多个 key-value 对,必须所有给定 key都不存在,否则MSETNX 也会拒绝执行所有操作。
127.0.0.1:6379> mget myage myname mygirl
1) "24"
2) "eason"
3) "alige"
127.0.0.1:6379> msetnx myage '25' mybook 'android ios'
(integer) 0


----------
SET key value [EX seconds] [PX milliseconds] [NX|XX]
会key设置value 
ex : 设置失效时间seconds 秒
px : 设置失效时间milliseconds 毫秒

nx : 只有key 不存在再可以赋值
xx : 不管值在于否都覆盖

127.0.0.1:6379> set company mc.cn ex 10086 px 50000
OK
127.0.0.1:6379> ttl company
(integer) 42


----------

SETEX key seconds value
如果key存在覆盖
SET key value
EXPIRE key seconds  # 设置生存时间


----------
SETNX key value
只有key 不存在再可以写入否则拒绝写入
127.0.0.1:6379> exists myname
(integer) 1
127.0.0.1:6379> setnx myname jack
(integer) 0


----------
STRLEN key
返回 key 字符串值的长度,找不到则返回0
127.0.0.1:6379> STRLEN nonexisting
(integer) 0
  • Set – 集合
SADD key member [member ...]
添加key到集合中 如果集合已经将忽略;如果没有集合将创建集合并存贮key
    ##添加单个数据##
127.0.0.1:6379> sadd word job
(integer) 1
    ##添加重复数据##
127.0.0.1:6379> sadd word job
(integer) 0
    ##添加多个数据##
127.0.0.1:6379> sadd word nagi  hoo
(integer) 2
127.0.0.1:6379> SMEMBERS word
1) "hoo"
2) "nagi"
3) "job"


----------
SCARD key
集合 key 集合中元素数量
127.0.0.1:6379> SMEMBERS word
1) "hoo"
2) "nagi"
3) "job"
127.0.0.1:6379> scard word
(integer) 3


----------
SDIFF key [key ...]
返回一个集合的全部成员
127.0.0.1:6379> sdiff word
1) "job"
2) "girl"
3) "fiends"


----------
SINTER key 
返回一个集合的全部成员,该集合是所有给定集合的交集
127.0.0.1:6379> sinter word
1) "fiends"
2) "girl"
3) "job"


----------
SISMEMBER key value 
判断是否value 是否存在于key 集合中,如果是返回1 否则返回0
127.0.0.1:6379> sinter word
1) "fiends"
2) "girl"
3) "job"


----------
SMEMBERS key
返回集合 key 中的所有成员
127.0.0.1:6379> SMEMBERS  word
1) "fiends"
2) "girl"
3) "job"


----------
SMOVE source destination member
将 member 元素从 source 集合移动到 destination 集合
127.0.0.1:6379> smove  word like girl
(integer) 1

127.0.0.1:6379> smembers like
1) "bike"
2) "ball"
3) "girl"


----------
SPOP key
移除并返回集合中的一个随机元素
127.0.0.1:6379> smembers like
1) "bike"
2) "ball"
3) "girl"
127.0.0.1:6379> spop like
"girl"
127.0.0.1:6379> smembers like
1) "bike"
2) "ball"


----------
SRANDMEMBER key 
那么返回集合中的一个随机元素但是不会移除set集合
127.0.0.1:6379> srandmember like
"bike"
127.0.0.1:6379> smembers like
1) "bike"
2) "ball"


----------
SREM key member [member ...]
移除集合 key 中的一个或多个 member 元素,不存在将被忽略

127.0.0.1:6379> smembers like
1) "bike"
2) "ball"
127.0.0.1:6379> srem like  bike
(integer) 1
127.0.0.1:6379> srem like  running
(integer) 0


----------
SUNION key
返回多个集合数据的并集
127.0.0.1:6379> keys *
1) "like"
2) "word"
127.0.0.1:6379> sunion like word
1) "ball"
2) "job"
3) "fiends"


----------
SUNIONSTORE destination key [key ...]
将结果保存到 destination 集合,返回结果集 如果destination 没有会自动创建
127.0.0.1:6379> sunionstore beijing  like word
(integer) 3
127.0.0.1:6379> smembers beijing
1) "ball"
2) "job"
3) "fiends"

下一篇:redis 数据类型——Hash SortedSet List

你可能感兴趣的:(算法,系统运维,PHP,JavaEE)