Redis数据库必知必会:五分钟带你快速复习Redis数据库

简介:Redis是NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景的存储需求,借助一下高基层的接口使用其可以胜任,如缓存、session、cookie、队列系统的不同角色。

一. 服务器端和客户端启动Redis数据库

  • 服务器端
    • ps - ef|grep redis查看redis服务器进程
    • sudo kill -9 pid 杀死pid对应的redis服务器
    • sudo redis-server /etc/redis/redis.conf 指定加载的配置文件
  • 客户端
    -连接redis:redis-cli
    • 运行测试:ping
    • 切换数据库:select n
"""
由于在redis安装在本电脑中,所以我在终端的启动命令
"""
sudo redis-server /etc/redis/redis.conf
redis-cli
select 2
"""
结果为:
shuan@shuan-Lenovo-B50-50:~$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> select n
127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> 
"""

二、Redis数据库数据结构

  • redis是key-value的数据结构,每条数据都是一个键值对
  • 键的类型是字符串(键不能重复)
  • 值的类型(字符串string、哈希hash、列表list、集合set、有序集合zset)

三、数据库操作行为

(一)String类型:可以接受字符串类型的数据,包括JPEG图像数据或JSON对象描述信息等。

1. 增加

1.1 用法:set key value
设置键值
案例 : set name itcast
设置键值为name值的itcast数据
如果设置的键不存在则添加,如果设置的键值已经存在就修改

1.2 用法::setex key seconds value
设置键值及过期时间,以秒为单位
案例: set aa 3 bb
设置键值为aa值为bb过期时间为3秒的数据
如果没有指定过期时间则一直存在,直到使用DEL移除

1.3 用法:mset key1 value1 key2 value2
设置多个键值:

1.4 用法:append key value
追加值
案例: append “a1” “aaa”
向键为a1中追加值"aaa"
 

2. 修改

用法:
set key value
 

3. 获取

3.1 用法:get key
根据键值后去值,如果不存在此键则返回nil

3.2 用法:mget key1 key2 …
根据多个键获取多个值

3.3 用法:keys参数
查找键,参数支持正则表达式
 
3.4 用法:del key1 key2 …
删除键及对应的值: del key1 key2…


(二)hash类型:用于存储对象,对象的结构为属性、值,值的类型为string

1. 增加

1.1 用法:hset key filed value
设置单个属性
案例: haset user name laoli
设置键user的name属性为laoli

扫描二维码关注公众号,回复: 5539966 查看本文章

1.2 用法:hmset key field1 value1 field2 value2
设置多个属性
 

2. 获取

2.1 用法:hkeys key
获取指定键所有的属性
案例:hkeys u2
获取键u2的所有属性

2.2 用法:hget key filed
获取一个属性的值:
案例:hget u2 “name”
获取键’u2’所有属性的值

2.3 用法:hmget key filed1 filed2
获取多个属性的值:

2.4 用法:hvals key
获取所有属性的值:
案例: hvals u2
获取键’u2’所有属性的值
 

3. 删除

3.1 用法:删除整个hash键及值,使用del命令

3.2 用法:hdel key filed1 field2
删除属性,属性对应的值会被一起删除
案例: hdel u2 age
删除键’u2’的属性’age’


(三)list类型:列表的元素类型为string,按照插入顺序排序

1. 增加

一行用法一行案例 文字描述
用法:lpush key value1 value2 在左侧输入数据
lpush a1 a b c 从键为’a1’的列表左侧插入数据a , b, c
用法:rpush key value1 value2 在右侧插入数据
rpush a1 0 1 从键为‘a1’的列表右侧插入数据0, 1
用法:linsert key befor或after value1 value2 在指定元素的前或后插入新元素
linsert a1 before b 3 在键为’a1’的列表中元素’b’前加入3

2. 获取

用法:lrange key start top
start、stop为元素的下标索引
索引从左侧开始,第一个元素为0
索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素
案例:lrange a1 0 -1
获取键为’a1’的列表所有元素

3. 修改

用法:lset key index value
设置指定索引位置的元素的值
案例: lset a 1 z
修改键’a1’的列表中下表为1的元素为’z’

4. 删除

用法:lrem key count value

  1. 将列表中前count次出现的值为value的元素移除
  2. count > 0: 从头到尾移除
  3. count < 0: 从尾到头移除
  4. count = 0: 移除所有

(四)set类型:无序集合、元素类string类型、元素具有唯一性,不重复,对于集合没有修改操作

1.添加

用法:sadd key members1 member2…
添加元素
案例: sadd a2 zhangsan lisi wangwu
向键’a3’的集合中添加元素’zhangsan’,‘lisi’,‘wangwu’

2. 获取

用法:smembers key
返指定的元素
案例: smembers a3
获取键值’a3’的集合中所有的元素

3. 删除

用法:srem key members1
删除指定元素
案例:srem a3 wangwu
删除键’a3’的集合中元素为’wangwu‘


(五)zset类型:sorted set,有序集合,元素为string类型,元素即有唯一性,不重复,每个元素都会关联一个double类型的score,表示权重将元素从小到大排序,没有修改操作

1. 增加

用法:zadd key score1 member1 socre2 members2…
添加
案例: zadd a5 3 lisi 4 wangwu 5 zhangsan
向键’a5’的集合中添加元素’list’, ‘wangwu’, ‘zhangsan’, 权重分别为3, 4, 5
 

2. 获取

2.1 用法:zrange key start stop
返回指定范围内的元素
案例:zrange a4 0 -1
获取键’a4’的集合中所有的元素

2.2 用法:zrangebyscore key min max
返回score值在min和max之间的成员
案例:zrangeby score a4 5 6
获取键’a4‘集合中权重在5和6之间的成员

2.3 用法:zscore key member
返回成员member的score值
 

3. 删除

3.1 用法:zrem key member1 member2
删除指定元素
3.2 用法:zremrangebyscore key min max
删除权重在指定范围的元素

猜你喜欢

转载自blog.csdn.net/weixin_40576010/article/details/88411529
今日推荐