数据库

作者: Cyj___ | 来源:发表于2018-09-04 08:48 被阅读0次

redis 的读写效率很高
redis:数据库(key:value) 键值存储
redis : 是非关系型数据库,是一个基于key - values(键-值)的存储,
redis 存储的都是键和值的类型(存的是一个字典的对象)
数据存储在缓存中,读取效率高,
打开百度搜素 redis ---> 中文版
redis 安装
1.下载:打开redis官方网站,推荐下载稳定版本(stable)
2.解压
3.进入到解压的文件夹目录
生成: sudo make
测试: sudo make test
将redis的命令安装到指定的目录: sudo make install
1.启动:进入到redis 的文件夹下 ,执行 : redis-server redis.conf
2.启动:(1.) redis-server (2.) redis-cli
退出redis ctil + c,exit,sudo service redis stop
(1.)关于 redis 的字符串操作(二进制数据,最大限制512MB)
设置键值: set key(键) values(值) 例如: set name huahua
查看键值: get key(键), 获取:根据键获取值,如果不存在此键则返回nil
如果要显示中文再开一个终端输入:redis-cli --raw ----> get name
设置过0期时间: setex key seconds(秒数) values(值,在有效时间内,可以是任意) 例如:setex name 10 huahua
替换: setrange key(键) offset(偏移量,从哪个位置开始替换) newvalues
例如: setrange name 2 kkk
判断key是否存在,不存在则创建: setnx key(键) value(值) 例如:setne name xigua
设置多个键值: mset key1 value1 key2 value2 ... 例如:mset name huahua age 17 book pytho
根据多个键获取多个值 : mget key1 key2 ... 例如:mget name age book
追加值(在末尾追加): append key value 例如:append name nihao
删除: del key
查看字符串的长度:strlen key
(2.)values(值)值得操作
例如:set int 10
在10的基础上减一个 decr int
(3.)键的操作
查看所有键:keys *
查看名称中包含a的键:keys 'a*' (正则,查看我们想要的key)
判断键是否存在 如果存在返回1,不存在返回0 :exists key1
随机返回一个key(从当前数据库中随机返回一个 key) : randomkey
查看键对应的value的类型 : type key
删除键及对应的值:del key1 key2 ...
给一个kay设置过期时间,以秒为单位(如果没有指定过期时间则⼀直存在,直到使⽤DEL移除):expire key seconds
查看有效时间,以秒为单位:ttl key (查看过期时间)
查看键'bb'的有效时间:ttl bb
给一个key重新命名:rename key newkey
删除key:del key
(4.)hash类型
hash⽤于存储对象,对象的结构为属性、值 值的类型为string
field(域,相当于字典里面的key键)
设置单个属性: hset key field value
获取⼀个属性的值:hget key field (获取域下面的值)
设置多个键和属性: hmset key field values fiels valuse....
获取多个属性的值: hmget key field field..... (获取域下面的多个值)
删除整个hash键及值,使⽤del命令 删除属性,属性对应的值会被⼀起删除:hdel key field field field .....
获取所有的域: hkeys key
获取所有的值: hvals key
获取所有域和值: hgetall key
获取键的长度:hlen key
给hash数据类型中的域的数字的值增加指定的值(处理的是数字类型):hincrby key fiels 数字
判断键下是否存在某个域:hexists key field
查看域对应值的长度:hstrlen key field
(5.)list数据类型
从左面开始插入(先插的在后面):lpush key valuse values....
从右面开始插入(先插的在前面):rpush key valuse values....
查看数据(队列)所有的值:lrange key start(起始位置,从0开始) end(结束-1) 例如: lrange lkey 0 -1
根据索引查找(取值):lindex key index
重新赋值:lset key index value
指定位置插入值:linsert key before|after value(给定一个值作为参照位置) newvalue
从左面取出,取出后即删除:lpop key
从右面取出,取出后即删除:rpop key
查看队列的长度:llen key
截取:ltrim key start stop 例如:ltrim key 2 5 ---->5 4 3 2
阻塞时间,(为0则一直阻塞,知道key对应的list有值,不为0,在设置的时间内,即使取不到值,也结束):brpop key key1 second
阻塞时间(同上):blpop
brpoplpush key key2 timeout (丛key右边取出值,丛左面取的值放在key里面)

redis的发布与订阅
订阅一个频道:subscribe channel(频道名称) ...
发布消息:publish channel(频道) message(消息)
取消订阅:unsubscribe channel(频道名称)
事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
事物的特性:原子性,一致性,隔离性,持久性
开启一个事务:multi
提交一个事务:exec
取消事务:discard
监听事务:watch
取消监听:unwatch
备份:save 使用这个命令之后,会保存一个dump.rdb
主从备份(一主一从,一主多从):
1).配置要有一个主节点 :进入redis.conf 修改bind 为主节ip
保存退出,从新开启redis服务
启动redis-cli 链接主节点(redis服务)
2).配置从节点:
进入redis.conf 修改bind 为主机ip
可以修改端口号
设置主节点信息(282行)
保存退出,重新开启redis服务
启动redis-cli -h 从节点的ip -p 从节点的port 连接从节点(redis服务)可以实现主从备份
安全:
查看密码:config get requirepass
设置:congig set requirepass ‘密码’
认证:auth 密码
取消密码:congig set requirepass ''

相关文章

  • MySQL数据库day01

    系统数据库 ​​​ 创建数据库 ​​​ ​​​ ​​​ ​​​ 查看所有数据库 使用数据库 修改数据库 删除数据库...

  • 数据库操作

    创建数据库: 选择数据库: 查看数据库: 修改数据库: 删除数据库:

  • Ubuntu操作mysql数据库命令

    一、连接数据库 连接本地数据库 退出数据库 二、操作数据库 创建数据库 显示数据库 删除数据库 连接数据库 查看状...

  • 4-14

    创建数据库 createdatabase数据库名称; 删除数据库 dropdatabase数据库名称; 查看数据库...

  • [后端开发] Mysql学习笔记

    1.0 数据库 创建数据库 查看所有数据库 删除数据库 切换数据库名 查看正在使用的数据库 2.0 数据库表 创...

  • 2020最新最全数据库系统安全

    数据库标识与鉴别 数据库访问控制 数据库安全审计 数据库备份与恢复 数据库加密 资源限制 数据库安全加固 数据库安...

  • 2020-01-05 sql基本概念

    数据库用来储存数据。 数据库的种类大致有:层次数据库、关系数据库、面向对象数据库、XML数据库、键值数据库。 关系...

  • Mysql数据库基本操作

    连接数据库 退出数据库 查看数据库版本 显示数据库时间 查看当前使用的数据库 查看所有数据库 数据库备份 导入数据...

  • mysql命令行操作

    准备 登陆 数据库操作 查看现有数据库 创建数据库 删除数据库 查看数据库 使用数据库 查看当前数据库 表操作 新...

  • 1.7.1 MySQL数据库学习

    1. 数据库命令行学习 进入数据库 创建数据库 查看数据库列表 删除数据库 使用数据库 查看当前数据库 2. 表 ...

网友评论

      本文标题:数据库

      本文链接:https://www.haomeiwen.com/subject/uxgwwftx.html