redis简单使用

redis 默认16个库,编号 0~15,默认为0

SELECT 0选择第0个库,key * 查看改库里的键值

redis:基于键值对的NoSql数据库,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成.

redis运行在内存中,还可以将数据通过快照或日志的形式存在硬盘上(持久化)

redis可以主从复制,高可用,分布式

Set

set age 18

ex seconds:为键设置秒级过期时间。
px milliseconds:为键设置毫秒级过期时间。
nx:键必须不存在,才可以设置成功,用于添加。
xx:与nx相反,键必须存在,才可以设置成功,用于更新。

set age 18 EX 5
get age 

set age 18 nx
get age 

set age 18 xx 
get age 

同时有setnx,setxx作用与nx,xx相同

setnx age 18 

setxx age 18

当有多个客户端同时操作同一个key时,只会有一个setxx成功,实现了分布式锁

#同时设置多个键值对

mset a 1 b 2 c 3

get

get user 
#同时获取多个值,当有不存在的键时,该键所对应的值就为nil
mget user age 
#得到的数据顺序为设置值的顺序

incr

#自增一个1,当值不为整数时返回错误
incr  a 

#自减一个1
decr  a

#自增指定整数
incrby a 2

#自减指定整数
decrby a 3

#自增指定浮点数
decrby a 0.2
但是没有自减浮点数,而且自增,自减都只针对整数

不常用命令

#在值尾部追加值
get a
append a one
#值长度(每个中文占3个字节)
strlen a 
#更新值并返回原值(若原值为空,则返回nil)
getset  name rourou
#设置指定位置的字符[0:]
set a rourouone
setrange a 7 t
#取到某段字符
getrange a 0 1
>"ro"

字符串类型的内部编码有3种:
int:8个字节的长整型。
embstr:小于等于39个字节的字符串。
raw:大于39个字节的字符串。

object encoding a

哈希

hset class:1 name rourou
hset class:1 age 18
#如果设置成功会返回1,反之会返回0。此外Redis提供了hsetnx命令,它
#们的关系就像set和setnx命令一样,只不过作用域由键变为field。
hget class:1 name 
#取值,若不存在,就返回nil
hdel class:1 name 
#删除name键值对
hlen class:1
#获取该哈希中有多少个键值对
hstrlen class:1 name 
#name对应的值的长度

你可能感兴趣的:(redis简单使用)