博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis
阅读量:4166 次
发布时间:2019-05-26

本文共 4230 字,大约阅读时间需要 14 分钟。

Redis

redis 跟 mysql 不同 是一个 非关系型数据库 也叫 nosql

mysql 是关系型数据库 数据持久化

nosql

  • redis
  • mongodb
  • couchdb
  • memcached
  • rabbitMQ

数据类型 简单 key value 在内存中进行操作

安装 redis

wget -c http://download.redis.io/releases/redis-3.2.9.tar.gztar -zxvf redis-3.2.9.tar.gzmv redis-3.2.9 /usr/local/redis make install

cd /usr/local/redis/src

脚本 说明
redis-server 服务器
redis-cli 客户端
redis-check-aof aof 修复工具
redis-check-rdb rdb 修复工具
redis-sentinel redis 2.8以后出现 哨兵服务器

aof 和 rdb 实线了 redis 数据的持久化

启动 redis

cd /usr/local/redis/src./redis-server  默认端口号 6379 	redis 单个key 512M 	redis 支持库  0-15 16个库	redis 除了key value 以外还有其它的数据类型   后台启动       vim /usr/local/redis/redis.conf    /daemon         将daemonize 改为 yes    :wq!       /usr/local/redis/src/redis-server /usr/local/redis/redis.conf	   ps -aux | grep redis    netstat -ntlp | grep 6379

连接redis

root@JD:/usr/local/redis# redis-cli 127.0.0.1:6379> ping PONG 说明成功  redis-cli -h ip地址  -p 端口号  通过端口号 区分redis  vim /usr/local/redis/redis.conf 将 port 改为 6380 bind 127.0.0.1 修改为 0.0.0.0 允许所有的主机 连接redis服务器   保存重启 ps -aux |grep redis    kill -9 /usr/local/redis/src/redis-server /usr/local/redis/redis.confredis-cli -h 127.0.0.1 -p 6380

配置redis开机启动

cd /usr/local/redis/utilsvim redis_init_scriptREDISPORT=6380  改成你在/usr/local/redis/redis.conf里边配置的port EXEC=/usr/local/redis/src/redis-server #redis-server的目录CLIEXEC=/usr/local/redis/src/redis-cli #redis-cli的目录PIDFILE=/var/run/redis_${REDISPORT}.pid #存放redis的进程文件 CONF="/usr/local/redis/redis.conf" #redis的配置文件路径 vim /etc/rc.local 写入  /usr/local/redis/utils/redis_init_scirpt start或者 /usr/local/redis/utils/redis_init_scirpt start /usr/local/redis/redis.conf

数据类型 不止这五种 常用的就是这五种

  • string
  • hash
  • list
  • set
  • zset

设置密码

redis-cli -h 127.0.0.1 -p 6380 config set requirepass 你的密码  下次登录  redis-cli -h 127.0.0.1 -p 6380  auth 你的密码

string

string 是redis 的基本类型 key value 一个key 对应一个value 二进制 安全的 可以包含任何数据 图像 音频 其他对象 都可以 单个键最大 512M

set 127.0.0.1:6380> set name kangbazi OK name 就是 key  -----------------------kangbazi 就是 key 对应的  value get get name  name就是key  获取key对应的值127.0.0.1:6380> del name 删除制定的key (integer) 1  1表示删除成功  127.0.0.1:6380> set name 12OK127.0.0.1:6380> incr name 制定key的值自增1  整数 127.0.0.1:6380> decr name  指定key的值自减1 整数127.0.0.1:6380> get name "-1"127.0.0.1:6380> incrby name 1000 指定的key 自增指定的值  整数(integer) 999127.0.0.1:6380> decrby name 500 整数  (integer) 499incrbyfloat name 12.1 指定的值自增 浮点值  append name kangbazi (integer) 29127.0.0.1:6380> get name "511.10000000000000001kangbazi"往 指定key 对应的value 值后面 添加内容

hash 就是键值对的集合 一般用来存对象 做缓存用

可以存2的32次方-1个键值对

一般一张表 一个hash   hmset user:1 username xinyun age 18 height 180cm weight 90kg user 键  为了区分用户 一般加id user:1  hgetall user:1

list

127.0.0.1:6380> lpush python1804 jinlong(integer) 1127.0.0.1:6380> lpush python1804 tengfei (integer) 2127.0.0.1:6380> lpush python1804 jinpeng(integer) 3127.0.0.1:6380> rpush python1804 jiahui(integer) 4127.0.0.1:6380> rpush python1804 xiejiahui(integer) 5127.0.0.1:6380> rpush python1804 zhihao (integer) 6127.0.0.1:6380> LRANGE python1804 0 4 1) "jinpeng"2) "tengfei"3) "jinlong"4) "jiahui"5) "xiejiahui"127.0.0.1:6380> LRANGE python1804 0 51) "jinpeng"2) "tengfei"3) "jinlong"4) "jiahui"5) "xiejiahui"6) "zhihao"lpush key 从左侧进入队列 rpush key 从右侧进入队列  lpop key 从左侧弹出第一个rpop key 从右侧弹出第一个

设置key的过期时间

set name test  如果 不设置国企时间  key 永久存在  127.0.0.1:6380> expire name 10  设置国企时间  秒为单位 (integer) 1127.0.0.1:6380> get name"test"127.0.0.1:6380> get name(nil) ttl key  查看 key的过期时间    type key 查看key的数据类型  select 0 选择0号库 默认进入0号库   select 1 选择1号库  keys * 查看库里所有的key  keys u* 查看库里u开头的key  flushdb  删除当前库中所有的key    flushall 删除所有库中的key

redis常用操作命令

启动redis服务器:redis-verser

启动redis浏览器:redis-cli
使用时先启动服务器,之后在浏览器进行操作命令。

连接Redis命令—非集群

redis-cli.exe -h server.host -p 6379

连接Redis命令—集群

redis-cli.exe -c -h server.host -p 6379

doc 环境命令:

查看server运行情况 :ping
查看 key值 :get key键

设置key值 :set key键 key值

查看键值类型:type key

删除键key :del key键

检测是否存在键 :exists key键

查看server 信息 :info

添加值到最后 : append key value

获取字符串长度 : strlen key

获得多个键值 :mget key [key…]

设置 多个键值 : mset key value [key value …]

列表类型:

lpush key value [ value … ]

rpush key value [ value … ]

​ lpush 命令用来向列表左边增加元素,返回表示增加元素后列表的长度

​ rpush 命令用来向列表右边增加元素,返回表示增加元素后列表的长度

获得列表片段 : lrange key start stop

获得列表中的某一片段,返回索引从 start 到 stop 之间的所有元素(包括两端的元素) 索引开始为 0

删除列表中指定的值 :lrem key count value

转载地址:http://onqxi.baihongyu.com/

你可能感兴趣的文章
泛型--datatable TO List
查看>>
存储过程
查看>>
C#之导出excel
查看>>
版本控制--SVN
查看>>
泛型 VS Data Table
查看>>
CSS盒子模型
查看>>
HTML总结(一)
查看>>
3月英语--平平淡淡
查看>>
csf格式转换--逼自己一把
查看>>
ASP控件总结(一)
查看>>
Repeater&Validator控件使用
查看>>
细水翻起半点波涛--4月英语
查看>>
ASP--Active Server Pages Summary
查看>>
常见的电脑病毒
查看>>
站在巨人的肩膀上!
查看>>
2017年5月软考总结
查看>>
Node.js中运行JavaScript代码
查看>>
5月英语总结--I will do it well.
查看>>
认识JS
查看>>
Google浏览器--翻译一定要“出去”吗?
查看>>