redis数据库

redis数据库

一.简介

Redis(Remote Dictionary Server)是一个开源使用的非关系型数据库
通常被称为数据结构服务器,其值可以为字符串,哈希,列表,集合,有序结合
共有16个数据库,编号从0开始,不支持用户自定义数据库名称。
redis数据库优势:
1.性能极高,写的速度81k次/s,读取速度110k次/s
2.数据类型丰富,低延时,高吞吐,存内存
3.数据备份和恢复
4.丰富的特性,可用于缓存,消息(按key设置过期时间过期后自动删除)

二.redis值的类型及相关操作:

1.字符串string

1)基础操作:
1.设置键,值,存储

set key value

2.值的获取

get key
key存在正常返回,key不存在返回nil

3.设置键值和过期时间,单位是秒

setex username 2 “value”

4.查看有效时间,单位是s

ttl key

5.设置/获取多个键值

mset key value key value…
mget key key key…

127.0.0.1:6379> mset name cxy age 25 hobby buying
OK
127.0.0.1:6379> mget name age hobby
1) "cxy"
2) "25"
3) "buying"
127.0.0.1:6379>

6.设置新的值时返回上一个值,记录上一个状态,便于恢复之前状态

getset key value

127.0.0.1:6379> getset name ccc
"cxy"

7.返回key中字符串的子字符串

getrange key start end

127.0.0.1:6379> set name abcdefghijklmn
OK
127.0.0.1:6379> getrange name 2 4
"cde"

2)redis运算(值要求为数字类型的字符串)
1.key值加1/减1

incr key || decr key

2.key值加上对应的整数/减去对应的整数

incrby key 数值 || decrby key 数值

3.追加值

append key value

4.获取值的长度

strlen key

127.0.0.1:6379> append name fine
(integer) 9
127.0.0.1:6379> get name
"todayfine"
127.0.0.1:6379> strlen name
(integer) 9

3)key键的操作
1.查看所有的key,支持正则表达式

keys *
keys m*

2.判断键是否存在,存在返回1 否则返回0

exists key

3.查看键对应的value类型

type key

4.修改key的名称

rename key newkey

5.当newkey不存在的时候,将key改名为newkey

renamenx key newkey
修改成功返回1,存在返回0

6.随机返回一个key

randomkey

7.删除键及对应的值

del key key…

8.删除所有key

flushdb 删除当前数据库中的所有
flushall 删除所有数据库中的key

2.哈希hash

1.设置单个值 | 设置多个值

hset valye field value
hmset key field value [field value]…

2.为哈希表key中的指定字段的整数值加上增量increment

hincrby key field increment

3.为哈希表key中的指定字段的浮点值加上增量increment

incrbyfloat key field increment

4.只有在字段field不存在时,设置哈希表字段的值

hsetnx key field value

5.获取一个字段的值 | 获取多个字段的值

hget key field
hmget key field [key field]

6.获取所有字段 | 获取所有值 | 获取所有字段和值

hkeys key
hvals key
hgetall key

7.返回包含数据的个数

hlen key

8.删除字段及值

hdel key field [key field]…

9.判断属性是否存在,存在返回1,不存在返回0

hexists key field

3.列表list

1.在头部插入

lpush key value [value]

2.在尾部插入

rpush key value [value]

3.将一个值插入到已存在在的列表头部,列表不存在时操作无效

lpushx key value
rpushx key value

4.移除并返回key对应列表的第一个元素 | 返回最后一个元素

lpop key
rpop key

5.通过索引取值

lindex key 索引值
不管左插入还是右插入,返回的所引致都是从左到右

6.获取列表的长度

llen list_name

7.裁剪列表,改为原集合的一个子集

ltrim key start end

8.返回存储在key的列表中的指定范围的元素

lrange key start end

4.集合set

1)无序集合,元素类型为string,元素唯一,不会重复
1.添加元素

sadd key member [member]…

2.获取key中的所有元素

smembers key

3.移除返回集合中的第一个随机元素

spop key

4.返回之河中一个或多个随机元素

srandmember key 返回随机元素
srandmember key count 返回count个随机元素

5.移除集合中的一个或多个成员

srem key member [member]

2)集合运算
1.多个集合的交集

sinter key [key]

2.多个集合的差集

sdiff key [key]

3.多个集合的并集

sunion key [key]

4.判断元素是否在集合中,存在返回1 不存在返回0

sismember key member

5.有序集合zset

1.添加

zadd key score member [score member]

2.获取,返回指定元素范围,后面时索引值

zrange key start end

3.返回元素个数

zcard key

4.返回有序集合key中,score在min和max之间的元素的个数

zcount key min max

5.返回member的score值

zscore key member

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值