Redis

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.gz
tar -zxvf redis-3.2.9.tar.gz
mv redis-3.2.9 /usr/local/redis 
make install 

cd /usr/local/redis/src

脚本说明
redis-server服务器
redis-cli客户端
redis-check-aofaof 修复工具
redis-check-rdbrdb 修复工具
redis-sentinelredis 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.conf

redis-cli -h 127.0.0.1 -p 6380 

配置redis开机启动

cd /usr/local/redis/utils
vim redis_init_script

REDISPORT=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 12
OK
127.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) 999
127.0.0.1:6380> decrby name 500 整数  
(integer) 499

incrbyfloat name 12.1 指定的值自增 浮点值  

append name kangbazi 
(integer) 29
127.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) 1
127.0.0.1:6380> lpush python1804 tengfei 
(integer) 2
127.0.0.1:6380> lpush python1804 jinpeng
(integer) 3
127.0.0.1:6380> rpush python1804 jiahui
(integer) 4
127.0.0.1:6380> rpush python1804 xiejiahui
(integer) 5
127.0.0.1:6380> rpush python1804 zhihao 
(integer) 6
127.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 5
1) "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) 1
127.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值