Redis数据库

它可以用作数据库缓存消息中间件
NoSQL数据库
key

基本操作命令

官网命令

1切换数据库

select 0

2插入数据

set class 0905

3 获得数据

get class

4删除数据

del class

5清空当前数据库

flushdb

6清空所有数据库

flushall

7查看所有数据

keys *

8统计数据库数据

dbsize

9判断是否存在key值

exists name

10设置过期时间

expire name 10

在这里插入图片描述

11查看类型

type name

12 移动key到其他数据库

move name 1

5个基本数据类型

字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)

1字符串String

append追加

使用APPEND命令在字符串后添加内容。
append key value
有则追加,没则新增
在这里插入图片描述

strlen查看长度

strlen key
在这里插入图片描述

incr 自增1

利用INCR命令簇(INCR, DECR, INCRBY)来把字符串当作原子计数器使用
incr views 自增1
在这里插入图片描述

decr 自减1

decr views 自减1
在这里插入图片描述

incrby 增加步长

incrby views 加10
在这里插入图片描述

decrby 减少步长

decrby views 减5
在这里插入图片描述

range字符串范围

GETRANGE

getrange name 0 3截取四个字符
在这里插入图片描述

getrange name 0 -1查看所有字符
SETRANGE
setrange name 1 xx替换指定位置开始的字符串
在这里插入图片描述

setex,setnx

setex(set with expire)设置过期时间
setnx(set if not exist)不存在在设置
setex key 30 aaa 设置key的值aaa,30秒后过期
ttl key
在这里插入图片描述

setnx key aaa 如果不存在key ,创建key。如果存在,创建失败
在这里插入图片描述

mset,mget批量设置值

msetnx
mset k1 v1 k2 v2 k3 v3
mget k1 k2 k3
msetnx k1 v1 k4 v4
k1存在,原子性这条语句执行返回0
在这里插入图片描述

对象

user:{id}:{filed}
mset user:1:name sam user:1:age 2
mget user:1:name user:1:age

getset

先get然后再set
如果不存在返回nil
如果存在,获取原来的值,设置新的值
在这里插入图片描述

2列表list

LPUSH 命令插入一个新元素到列表头部,
而RPUSH命令 插入一个新元素到列表的尾部

lpush,rpush

LPUSH mylist “world”
LPUSH mylist “hello”
LRANGE mylist 0 -1

lpop,rpop

移除第一个值

lindex

lindex list 1
通过下标获取值

llen

llen list 返回list长度

lrem移除指定的值

lrem list 2 one
移除两个one

ltrim截取

ltrim list 1 2

rpoplpush

删除列表中的最后一个元素,将其追加到另一个列表
在这里插入图片描述

lset

lset list 0 aaa
更新指定下标的值

exists list

判断列表是否存在

linsert

linsert list before aaa 888
在aaa前面插入888
linsert list after 888 ddd
在888后面插入ddd

3集合

sadd

sadd myset aaa

smembers

查看集合所有元素
smembers myset

SCARD key

返回集合存储的key的基数 (集合元素的数量).

SREM key member [member …]

在key集合中移除指定的元素. 如果指定的元素不是key集合中的元素则忽略 如果key集合不存在则被视为一个空的集合,该命令返回0.

如果key的类型不是一个集合,则返回错误.

SPOP key [count]

从存储在key的集合中移除并返回一个或多个随机元素。

SMOVE source destination member

将member从source集合移动到destination集合中

sdiff

获取队列不存在的元素

SUNION key [key …]

返回给定的多个集合的并集中的所有成员

4哈希hash

Map集合

HSET key field value

HGET key field

返回 key 指定的哈希集中该字段所关联的值
在这里插入图片描述

HDEL key field [field …]

删除
HDEL myhash field1

HGETALL key

返回 key 指定的哈希集中所有的字段和值

hlen myhash

获取长度

hkeys

hkeys myhash 只获取field

hvals

hvals myhash只获取value

5有序集合Zset

zadd

ZADD key [NX|XX] [CH] [INCR] score member [score member …]

ZADD myzset 1 “one”

ZRANGEBYSCORE

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

三个特殊数据类型

地理空间(geospatial) ,Bitmaps 和 HyperLogLogs

Redis持久化
RDB AOF

port默认端口号6379
bind允许访问的IP
timeclient空闲多少秒后关闭连接,0代表无限制
loglevel日志级别debug,verbose,notice(默认),warning
logfile日志文件地址
databases数据库数量
saveRDB文件同步频率
dirrdb目录
requirepass访问数据库密码
maxclients最大连接数
maxmemory占用内存大小
appendonly开启AOF备份
appendfsyncAOF同步频率,no,everysec,always

Redis字符串类型

字符串set name 张三
哈希hmset 1000 ename mike job manager deptno 23
列表rpush ,lpush,lset lrange
集合
有序集合
截取前三个字符内容
getrange name 0 2

获取字符串长度

strlen name

设置过期时间(数据多久消失)

setex name 3 李四

字符串
mset 设置多个key-value
mset username 张三 password 123123

mget获取多个value
mget username password

append追加
set name 张三
append name 123

incr数字自增/ decr 数字自减

set number 1
数字自增
incr number

incrby数字加法/decrby数字减法
incrby number 25
incrbyfloat num 3.5

哈希指令
hget获取一个值
hget 1000 name

获取多个哈希表字段
hmget 1000 name job depno
获取所有内容
hgetall 1000

hkeys获取所有字段
hvals获取所有字段值
hlen字段数量
hdel删除数据表字段
hdel 1000 job name

是否存在某个字段
hexists 1000 name

hincrby加
hincrby 1000 deptno 20
hincrbyfloat 加浮点数

列表
左插,右插值
rpush name 李四 王五 赵六
lpush name 孙七
修改值,指定索引,将name中第二个改为孙前
lset name 2 孙前
查询所有内容
lrange name 0 -1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值