Redis缓存数据库使用以及命令

1.什么是Redis

Redis缓存数据库使用以及命令_第1张图片
Redis是一个完全免费开源的 NoSQL数据库 是由意大利人开发的一款内存高速缓存数据库 该软件由C语言编写,数据模型为
Key Value 它支持丰富的数据结构(类型),比如String list hash set sorted.可持久化,保证了数据安全。
用处:
经常用在 热点数据 经常会被查询,但是不经常被修改删除的数据

官方测试数据

  • 读的速度 110000次/s
  • 写的速度 80000次/s
  • 不会存在线程安全的问题
  • 默认支持16个数据库

Redis缓存数据库使用以及命令_第2张图片

缺点
太耗内存


NoSQL 非关系型数据库

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。
在现代的计算系统上每天网络上都会产生庞大的数据量。

这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理。 1970年 E.F.Codd’s提出的关系模型的论文 “A relational model of data for large shared data banks”,这使得数据建模和应用程序编程更加简单。
使用需求

  • 支持大量并发用户(数万,甚至数百万量级)
  • 为全球范围内的用户提供高质量的交互体验
  • 高可用性 高并发
  • 支持处理半结构化数据和非结构化数据
  • 快速适应不断变化的需求

(DBMS)关系型数据库
MySQL SQLServer Oracle 等等

(NoSQL)非关系型数据库
MongoDB Redis 等等


安装Redis数据库

  • 连接互联网 更新软件包
sudo apt-get update
  • 输入 执行后
sudo  apt-get install -y redis-server
  • 出现错误时尝试解决apt依赖

  • 默认安装路径为 /usr/bin里 可使用 ls redis* 查看

  • 输入redis-cli 启动redis客户端

# 启动Redis客户端
redis-cli 

# 客户端命令 
# help 查看Redis版本信息等
help
# 退出Redis客户端
quit 或 exit

Redis缓存数据库使用以及命令_第3张图片

  • 输入 ping 测试是否成功
  • 出现PONG表示畅通
ping

image

  • 通过启动命令检查Redis服务器状态默认端口号6379
netstat -nlt|grep 6379
  • 配置文件默认在 /etc/redis/redis.conf

修改配置文件 配置文件较为长 可以使用 vivim 的搜索功能进行查找

vivim 的搜索功能教程地址

1 .用vi打开Redis服务器的配置文件redis.conf

# 进入Redis配置文件
vi /etc/redis/redis.conf

Redis以守护进程运行

  • 如果以守护进程运行,则不会在命令行阻塞,类似于服务
  • 如果以非守护进程运行,则当前终端被阻塞,无法使用
  • 推荐改为yes,以守护进程运行
  • 进入配置文件找到这一行 修改为以下配置
daemonize yes

Redis缓存数据库使用以及命令_第4张图片
2 .修改访问Redis的密码

使用Java连接Redis必须添加密码!!!!

#取消注释requirepass 添加你的密码
requirepass your_password

Redis缓存数据库使用以及命令_第5张图片

3 .让Redis服务器被远程访问

默认情况下,Redis服务器不允许远程访问,只允许本机访问,所以我们需要设置打开远程访问的功能。

配置文件中有好几处 类似的地方 不要找错了
配置文件里有好几处bind 127.0.0.1 不要找错了!!!!!!
大概在69行左右

#注释bind
#bind 127.0.0.1

Redis缓存数据库使用以及命令_第6张图片

修改后,重启Redis服务器。

service redis-server restart

未使用密码登陆Redis服务器

他会告诉你 没有权限不能访问

redis-cli
redis 127.0.0.1:6379> keys *
(error) ERR operation not permitted

**登陆Redis服务器,输入密码 **

这时候就能正常的访问了

redis-cli -a your_password
redis 127.0.0.1:6379> keys *
1) "name"
2)....你的所有key

配置完成后重新启动服务器

# 重启redis-server 的三个命令 任选其一即可
sudo service redis-server restart

sudo /etc/init.d/redis-server restart

sudo redis-server /etc/redis/redis.conf

Redis关闭

./redis-cli shutdown 正常方式关闭 Redis 会进行持久化操作
kill -9 进程号 强制关闭Redis服务端 不会进行持久化操作 容易造成数据丢失
ps -ef | grep -i redis 查看当前Redis运行的进程号
如果想要保证数据不造成丢失可以修改Redis配置文件的save 持久化时间

Ubuntu中使用Redis客户端

服务端设置密码后 客户端的连接方法必须带参数 ./redis-cli -h host -p port -a password

redis-cli -h 192.168.0.100 -p 6379 -a 123456
  • host代表 连接的IP地址
  • port 连接的端口号
  • password 密码
    本机(虚拟机本机)访问可以忽略IP地址 port忽略的话默认是6379

Redis客户端常用命令 String

命令 作用 示例
del key 根据key删除 del userName 或 del key1 key2 …
keys pattern 通配符 *代表所有 user? 开头为user的key key * 或 key user?
exists key 判断一个key是否存在 返回值0或1
expire key seconds 给一个key设置过期时间 单位:秒
ttl key 查询 kye的生命周期 返回值 -1:永久 -2:无效
persist key 移除key的过期时间设置为永久有效
select index 切换到第index个数据库 select 1 切换到第一个数据库
rename key newName 修改key的名字 rename key1 user1
move key index 把key移动到下标为index的数据库里去 move user1 1 把user1移动到下标为1的数据库里
type key 查看key是什么类型
FLUSHALL 删除所有数据库中所有的key 用于辞职时 删库跑路
FLUSHDB 删除当前数据库中所有的key

Key的命名规范

key区分大小写 命令不区分大小写

  • 单个Key可以支持512M的大小
  • key不要太长尽量不能超过1024字节 不仅降低内存 还增长查询时间
  • key也不要太短,太短的话key的可读性会降低
  • 在一个项目中key的命名规范尽量使用统一的命名格式 列如:user12
  • 对应到表上就是 user表有 id,name,age…属性 命名格式就可以是
    • user:1:name 或 user:

你可能感兴趣的:(redis)