redis的基本简单命令总结

本文详细介绍了NoSQL数据库的概念、作用及分类,并深入探讨了Redis的发展历史、应用场景及其作为键值型数据库的基本使用方法,包括数据结构操作和常用命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/////////////////////////////////////////////////////////////////
NOsql =not only sql 不仅仅是sql
非关系型数据库
nosql的概念
nosql的作用
nosql的分类
1.key/value型数据库
2.文档型的数据库
3.列式数据库
4.图式数据库
redis
redis的历史
redis的应用场景
redis基本入门
jedis使用

redis的数据结构
★字符串
list(了解)
set(了解)
sortedset(了解)
★hash

redis的通用的命令
redis的特性
////////////////////////////////////
NOsql =not only sql 不仅仅是sql
非关系型数据库
nosql的概念
nosql的作用
对付三高
1.高并发
2.大数据
3.高可扩展  高可用
nosql的分类
1.key/value型数据库
2.文档型的数据库
3.列式数据库
4.图式数据库
redis
redis的历史
redis是C语言开发的 高性能的键值对的数据库
redis的应用场景
缓存(不常更改的数据)
在线好友列表
任务队列
session分离
应用排行
得分排行
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
redis基本入门
存值:
set key value
取值:
get key
/////////////////////////////////////////////
★jedis使用
使用步骤:
1.导入jar包
2.获取jedis对象
3.通过jedis操作数据库
4.释放资源

redis的数据结构
//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////
★字符串
掌握的方法
赋值:
格式: 
set key value
例如:
set a 1
取值:
格式:
get key
例如:
get a

若是字符串形式的数字可以自增或者自减
自增:incr key
自减:decr key
///////////////////////////////////////////////
///////////////////////////////////////////////
了解的方式:
增加指定数值
incrby key int
例如:
incrby a 10
减少指定数值
decrby key int
例如:
decrby a 4
获取再设置
getset key value
先获取值再给他设置一个新值
例如:
getset a 107
凭借字符串
append key string
例如:
append a qwe :在a后面追加指定的字符串 若a不存在,则创建一个a
////////////////////////////////////
////////////////////////////////////
////////////////////////////////////
////////////////////////////////////
★hash
掌握
将key/value中的value设置为一个map
例如将 user1存入redis中 
user1有一些属性 
例如 :username = tom
 password = 123
赋值:
设置单值
hset key subkey subvalue
例如:
hset user1 username tom
设置多值
hmset key subkey1 subvalue1 subkey2 subvalue2
例如:
hmset user2 username jack password 123 sex 1
取值:
获取单值:
hget key subkey
获取多值
hmget key subkey1 subkey2

获取所有值
hgetall key
删除
hdel key subkey1 subkey2
例如:
hdel user2 sex password
//////////////////////////
//////////////////////////
了解:
增加数字
hincrby key subkey int
例如:
hincrby user2 age 10

判断一个key中是否存在一个subkey
hexists key subkey
获取一个key中有几个subkey
hlen key
获取一个key中所有的subkey
hkeys key
获取一个key中所有的subvalue
hvals key
/////////////////////////////////////
/////////////////////////////////////
/////////////////////////////////////
/////////////////////////////////////
list(了解)
双向链表
存值:
lpush key value1 value2:从左侧添加
rpush key value1 value2:从右侧添加

例如:
lpush l1 a b c d
rpush l1 1 2 3 4

取值:弹
lpop key:弹出左边的第一个
rpop key:弹出右边的第一个

查看所有:
lrange key startindex endindex
例如:
lrange l1 0 -1

获取list的长度
llen key

了解中的了解
lrem key count value
count >0 :从左边开始删除count个value
count <0 :从右边开始删除count个value
count =0 :删除所有的value
set(了解)
里面元素唯一 无序
添加
sadd key member1 member2 
删除
srem key member1 member2 
获取
smembers key
判断一个member是否属于一个key
sismember key member
运算
差集 我有你没有
sdiff key1 key2
sdiffstore 差异集合 key1 key2  会将key1有的 但是key中没有的放入差异的集合中

交集 我有你也有
sinter key1 key2
sinterstore 新集合 key1 key2
并集 你有加我有
sunion key1 key2
sunionstore 新集合 key1 key2
sortedset(了解)
有序的 唯一的 每个元素都有得分 默认是从小到大的
添加
zadd key 得分 member1 得分 member2
删除
zrem key member1 member2
获取
获取指定成员的得分
zscore key member
获取元素的个数
zcard key
范围查找
zrange key startindex  endindex [withscores] :从小到大的
zrevrange key startindex endindex [withscores]:从大到小


redis的通用的命令
keys pattern:
keys *:查看所有的key
del key1 key2
删除key
exists key:
判断一个key是否存在 若存在则返回1 若不存在返回0
rename key newname
给一个指定的key 起个新名字
注意:名字不能太短,也不能太长,见明知意
项目名_模块名_key名字
expire key 秒数:设置key的过期时间
expire d 100
ttl key:获取key的剩余销毁时间
ttl d
若返回值为 -1:永不过期
若返回值为 -2:过期了

type key:获取一个key的类型

/////////////////////////
redis的特性(理解)
多数据库:
一个实例最多拥有16个数据库,索引从0开始
切换数据库
select index
移动一个key到指定的数据库中
move key index
////////////////////////////
常用的命令(理解)
退出客户端:
quit
终止服务器端:
方式1:(不推荐) 容易造成key丢成
kill -9 进程号
方式2:推荐方式 通过客户端发送命令关闭
登录成功:shutdown
不登录:
./redis-cli -h ip -p 端口号 shutdown
dbsize:返回key的数量
flushdb:删除当前数据库的key
flushall:删除当前实例下的所有数据库的key

//////////////////////////////////////////
扩展:
redis数据库的持久化
redis是缓存服务器,key都是在内存上.
策略:
rdb 快照(默认的)
查看redis.conf
#   In the example below the behaviour will be to save:
#   after 900 sec (15 min) if at least 1 key changed
#   after 300 sec (5 min) if at least 10 keys changed
#   after 60 sec if at least 10000 keys changed
若只采用这种模式,服务器启动的时候,会从dump.rdb文件获取所有的key然后加载到内存中,
有可能会丢失数据
//////////////
aof 命令模式
策略有:
a.每改变一次就保存
b.每秒钟保存一次
c.不保存
要想开启aof方式 需要将redis.conf中
appendonly改成yes
一旦开启了aof方式,首先恢复数据的找 appendonly.aof文件.
/////////////////////////////////////////
主从复制
开发中一般采取的模式都是一主一备
现在大部分采用分布式集群解决问题.

主从复制实现步骤:
1.复制一个redis实例
cp -r bin slave
2.修改备份服务器的conf文件
修改端口号 port
需设置为slave
slaveof <masterip> <masterport>
主服务器的ip 主服务器的端口号
3.保存退出,启动备份服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值