Redis基础笔记

一、基础知识

连接方式

  • CLI (Command Line Interface)
  • API (Application Programming Interface)
  • GUI (Graphical User Interface)

启动

redis-server

连接到Redis(Redis CLI Client)

redis redis-cli
telnet 127.0.0.1 6379

退出

quit/exit

查看过期时间

TTL key

设置过期时间

expire key seconds

查看key是否存在

exists key

二、基本数据类型

1. String 字符串

设置键key的值为value

set key value  

将键key的值设置为value,并且超时时间为seconds秒

setex key seconds value 

将键key的值设置为value,并且超时时间为milliseconds毫秒

psetex key milliseconds value

只有在键key不存在的情况下,将key的值设置为value

setnx key value

返回键key的值设置为value

get key 

将键key的值为value,并返回设置前的旧值。若没有旧值则返回nil

getset key value

如果键key存在并且值是⼀个字符串,则把value追加到现有值的末尾
如果key不存在,则将key的值设置为value
返回追加value之后该value的⻓度

append key value

删除给定的⼀个或多个键的值

del key [key ...]

增加/减少 1 key 存储的数字值

incr/decr key

增加/减少 n key 存储的数字值

incrby/decrby key increment/decrement

同时为多个键设置值

mset key value [key value ...]

同时返回多个键的值

mget key [key ...]

获取键为 key 的值的字符串长度

strlen key

2. List 列表

将⼀个或多个元素添加到列表key的表头(左侧),多个值则从左⾄右依次插⼊表头;如果列表key不存在,则创建⼀个然后执⾏LPUSH插⼊操作;如果列表key存在但不是列表类型,则返回错误

LPUSH key element [element ...]

当且仅当key存在并且是⼀个列表的时候,才执⾏LPUSH操作

LPUSHX key element [element ...]

将⼀个或多个元素添加到列表key的表尾(右侧),多个值则从左⾄右依次插⼊表尾;如果列表key不存在,则创建⼀个然后执⾏RPUSH插⼊操作;如果列表key存在但不是列表类型,则返回错误

RPUSH key element [element ...]

当且仅当key存在并且是⼀个列表的时候,才执⾏RPUSH操作

RPUSHX key element [element ...]

返回列表key中,位于start和stop之间的元素(包括start和stop),stop为-1表示末尾

LRANGE key start stop

将⼀个或count个元素从列表头⽅向移除并将其返回;如果列表key不存在,则返回nil

LPOP key [count ...]

将⼀个或count个元素从列表尾⽅向移除并将其返回;如果列表key不存在,则返回nil

RPOP key [count ...]

返回列表key的⻓度;如果key不存在则返回0;如果key不是列表类型则返回错误

LLEN key

返回列表key中索引为index的元素

LINDEX key index

只保留列表key中索引为start和stop之间的元素

LTRIM key start stop

列表阻塞式(Blocking)弹出。是LPOP的阻塞版本,当列表中没有任何元素时阻塞, 直到超时或发现新的可弹出元素为⽌

blpop key [key ...] timeout
brpop key [key ...] timeout

在⼀个原⼦时间内,将source列表的尾部元素弹出,并插⼊到destination列表的头 部,返回该元素; 如果列表key不存在,则返回nil

rpopl

3. Set 集合

将⼀个或多个元素加⼊到集合key中。已存在于集合中的元素将被忽略

SADD key member [member ...]

将⼀个或多个元素从集合key中移除。不存在的member元素将被忽略

SREM key member [member ...]

返回集合key中的所有成员

SMEMBERS key 

判断MEMBER是否是集合key的成员,是返回1,不是或key不存在返回0

SISMEMBER key member

移除并返回集合key中的⼀个或count个随机元素

SPOP key [count]

和SPOP类似,区别在于SRANDMEMBER只返回不移除

SRANDMEMBER key [count]

4. SortedSet

将⼀个或多个member元素及其分数score加⼊到有序集合key中

ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score 
member ..] 

将⼀个或多个成员从集合key中移除,不存在的member成员将被忽略

ZREM key member [member ..]

返回有序集合key中的成员member的分数值(score)

ZSCORE key member

返回有序集合key中指定区间内的成员(从⼩到⼤排列)

ZRANGE key start stop [BYSCORE|BYLEX] [REV] [LIMIT offset count] 
[WITHSCORES]

返回有序集合key中指定区间内的成员(从⼤到⼩排列)

ZREVRANGE key start stop [WITHSCORES]

返回有序集合key中成员member的排名(按照score从⼩到⼤排列)

ZRANK key member

返回有序集合key中成员member的排名(按照score从⼤到⼩排列)

ZREVRANK key member

5. Hashe 哈希

将哈希表key中的域field的值设置为value

HSET key field value [field value ...]

当且仅当field不存在的时候,将哈希表key中的域field的值设置为value

 HSETNX key field value

返回哈希表key中给定域field的值

HGET key field

判断给定域field是否存在于哈希表key中

HEXISTS key field

删除哈希表key中的⼀个或多个指定域field

HDEL key field [field ...]

返回哈希表key中域的数量

HLEN key

返回哈希表key中的所有域

HKEYS key

返回哈希表key中所有域的值

HVALS key 

返回哈希表key中所有的域和值

HGETALL key

发布订阅

发布消息

publish 频道名 消息

订阅频道

subscribe 频道名

事务

开启事务

multi

结束事务

exec

redis中事务不是原子性的

取消事务

discard

持久化

RDB (Redis Database)

配置文件设置每隔多少时间生成一次快照

更适合用来做备份

bgsave

AOF (Append Only File)

开启AOF:

配置文件中 appendonly 的值改为 yes

你可能感兴趣的:(redis,笔记,java)