Redis

Redis是一个高性能的Key-Value数据库。

学习目标

  • 能够描述出什么是 nosql
  • 能够说出 Redis 的特点
  • 能够根据参考资料修改常用Redis配置
  • 能够写出Redis中string类型数据的增删改查操作命令
  • 能够写出Redis中hash类型数据的增删改查相关命令
  • 能够说出Redis中 list 保存的数据类型
  • 能够使用StrictRedis对象对string类型数据进行增删改查
  • 能够参考课件步骤搭建 Redis 集群

1、Redis安装

  1、下载:(linux)

wget http://download.redis.io/releases/redis-4.0.9.tar.gz

  2、解压:

tar xzf redis-4.0.9.tar.gz

  3、移动,放到user/local目录下

sudo mv ./redis-4.0.9 /usr/local/redis/

  4、进入Redis目录

cd /usr/local/redis/

  5、生成

sudo make

  6、测试

sudo make test

  7、安装,将redis的命令安装到/user/local/bin/目录

sudo make install

  8、查看安装是否成功

cd /usr/local/bin
ls -all
  • redis-server redis服务器
  • redis-cli redis命令行客户端
  • redis-benchmark redis性能测试工具
  • redis-check-aof AOF文件修复工具
  • redis-check-rdb RDB文件检索工具

  9、配置文件,移动到/etc/目录下

配置文件目录为/user/local/redis/redis.conf

sudo cp /usr/local/redis/redis.conf /etc/redis/

配置

Redis的配置信息在/etc/redis/redis.conf下。

查看:

sudo vi /etc/redis/redis.conf

核心配置选项

绑定ip:如果需要远程访问,可将此行注释,或者绑定一个真实的ip

bind 127.0.0.1

端口:默认端口6379

port 6379

是否以守护进程运⾏

  • 如果以守护进程运⾏,则不会在命令⾏阻塞,类似于服务
  • 如果以⾮守护进程运⾏,则当前终端被阻塞
  • 设置为yes表示守护进程,设置为no表示⾮守护进程
  • 推荐设置为yes
daemonize yes

数据文件

dbfilename dump.rdb

数据文件存储路径

dir /var/lib/redis

日志文件

logfile "/var/log/redis/redis-server.log"

数据库,默认有16个

database 16

主从复制,类似于双机备份。

slaveof

服务端(了解客户端与服务端的命令)

服务端的命令为redis-server

可以使用help查看帮助文档

redis-server --help

个人习惯:

ps aux | grep redis 查看redis服务器进程
sudo kill -9 pid 杀死redis服务器
sudo redis-server /etc/redis/redis.conf 指定加载的配置文件

客户端

客户端的命令为redis-cli

帮助文档:

redis-cli --help

链接redis

redis-cli

运行测试命令

ping

切换数据库

数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库

select 10

数据结构:

  1、能够写出Redis中string类型数据的增删改查操作命令

  2、能够写出Redis中hash类型数据的增删改查命令

Redis是key-value的数据结构,每条数据都是一个键值对

键的类型是字符串(不能重复)

 值的类型分为五种:

字符串(string),哈希(hash)、列表(list)、集合(set)、有序集合(zset)

数据操作行为:

保存,修改,获取,删除。

String类型

  字符串类型是 Redis 中最为基础的数据存储类型,它在 Redis 中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

保存

如果设置的键不存在则为添加,如果设置的键已经存在则修改

1、设置键值

set key value
#设置键为name,值为itcast的数据
#set name itcast

2、设置键值及过期时间,以秒为单位

setex key seconds value

#设置键为aa值为cc过期时间为3秒的数据
#setex aa 3 cc

3、设置多个键值

mset key1 value1 key2 value2
#设置键为“a1”值为“python”,键为a2,值为java,键为a3,值为c
#mset a1 python a2 java a3 c

4、追加值

append key value
#向键为a1中追加值“abc”
#append a1 haha

获取

1、根据键获取值,如果不存在此键则返回nil

get key
#获取键name的值
get name

2、根据多个键获取多个值

mget key1 key2
#获取a1,a2,a3的值
mget a1 a2 a3

删除(删除键时会将值删除)

键命令:

1、查找键,参数支持正则表达式

keys pattern
#查看所有键
keys *
#查看名称中包含a的键
keys a*

2、判断键是否存在,如果存在返回1,不存在返回0

exists key1
#判断键a1是否存在
exists a1

3、查看键对应的value的类型

type key
#查看键a1的值类型,为redis支持的五种类型中的一种
type a1

4、删除键及对应的值

del key1 key2
#删除键a2,a3
del a2 a3

5、设置过期时间,以秒为单位,如果没有指定过期时间则一直存在,直到使用DEL移除

expire key seconds
#设置键a1的过期时间为20秒
expire a1 3

6、查看有效时间

ttl key
#查看键a1的有效时间
ttl a1

01-String(键命令)的更多相关文章

  1. redis学习笔记-01 string类型命令

    一.set key value set joker 123456 #设定key为joker,value为123456的数据 二.keys * keys * #用于查看该数据库中所有的key值 三.se ...

  2. Redis启动服务和String常用命令

    Redis启动服务和String常用命令 1. 启动Redis服务 E:\redis>redis-server.exe redis.windows.conf _._ _.-``__ ''-._ ...

  3. Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令

    Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...

  4. redis键命令

    1.ping命令用于检测redis是否启动 成功返回pong表示链接成功 2.在远程redis服务上执行命令 Redis-cli -h host -p port -a password 如果是连接本机 ...

  5. Linux基础01 学会使用命令帮助

    Linux基础01 学会使用命令帮助 概述 在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档:linux系统内置的帮助文档很详细,通常能解决我们的问题, ...

  6. kubectl get 后按2次tab键命令补全的失效原因分析

    kubectl get 后按2次tab键命令补全的失效原因分析 2019/10/28 Chenxin a.bash客户端工具 在centos用户下, cd ~;echo "source &l ...

  7. vi简单快键命令

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  8. Linux使用退格键时出现^H + Tab键命令补全失效/方向键失效 + ls文件夹和文件没有颜色

    删除问题 安装kalilinux使用普通用户的的时候按退格键无法实现删除功能 解决的办法有两个 一改变快捷键: 使用Ctrl+Backspace组合键可以实现删除功能 ctrl + backspace ...

  9. Redis 键命令

    1.设置key值 set name zhangsan 删除key del name 2. 判断key是否存在 exists a,返回1 说明存在:  0 表示不存在 3. 剩余过期时间 ttl 返回- ...

随机推荐

  1. [译]Vulkan教程(16)图形管道基础之总结

    [译]Vulkan教程(16)图形管道基础之总结 Conclusion 总结 We can now combine all of the structures and objects from the ...

  2. Ubuntu设置开机时启动的系统内核版本

    1.查看系统当前安装的所有内核版本 有两种方法 第一种: 可以查看/lib/modules下的文件夹,一个文件夹对应一个内核版本,如下图: 第二种:使用下面的命令查看: dpkg --get-sele ...

  3. Java描述设计模式(12):外观模式

    本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 1.场景描述 在移动互联网没有普及之前,去饭店吃饭的流程大致如下:选座位,排队,点菜,结账.后来移动互联网普及,通过手机APP就 ...

  4. cookie及其特点

    关于cookie我们首先要知道cookie是指会话跟踪技术 我们可以用它来做一下事情,但是我们需要清楚cookie是不安全的 功能: 会话状态管理(如用户登录状态.购物车.游戏分数和其它需要记录的信息 ...

  5. Python中经典排序方法

    数据的排序是在解决实际问题时经常用到的步骤,也是数据结构的考点之一,下面介绍10种经典的排序方法. 首先,排序方法可以大体分为插入排序.选择排序.交换排序.归并排序和桶排序四大类,其中,插入排序又分为 ...

  6. javaWeb核心技术第九篇之JSP

    JSP:全名是Java Server Pages,它是建立在Servlet规范之上的动态网页开发技术.在JSP文件中,HTML代码与Java代码共同存在,其中,HTML代码用来实现网页中静态内容的显示 ...

  7. Add an Action that Displays a Pop-up Window 添加显示弹出窗口按钮

    In this lesson, you will learn how to create an Action that shows a pop-up window. This type of Acti ...

  8. netcore3.0配置跨域

    netcore3.0框架已集成了Microsoft.AspNetCore.Mvc.Cors包,因此不需要单独引用. 在ConfigureServices中添加Cors策略服务 services.Add ...

  9. NoiseSystem数据库设计心得-洋芋好想飞

    团队:洋芋好想飞 成员:乔祥硕 石高飞 杨慧慧 梁家豪 潘景渝 整理:乔祥硕 PM乔祥硕: 10月25日14:30到17:30,10月27日14:30到17:30,11月1日14:30到17:30,这 ...

  10. JavaScript基础6

    计时器 setInterval()   按照指定周期来调用函数或计算表达式     以毫秒计算 语法    setInterval(code,millisec[,“lang”]) code 要调用的函 ...