Redis特点及优点
1.开源的,用c编写,基于内存且支持持久化
2.高性能的Key-Value的NoSQL数据库
3.支持数据类型丰富,字符串strings,散列hashes,列表lists,集合sets,
有序集合sorted,sets等等
4.支持多种编程语言(C C++ Python Java PHP ...)
5.单进程单线程
与其他数据库对比
1.MySQL:关系型数据库,表格,基于磁盘,慢2.MongoDB:键值对文档型数据库,值类似JSON文档,数据结构相对单一
3.Redis的诞生是为了解决什么问题?
解决硬盘IO带来的性能瓶颈
Redis附加功能
1.持久化 2.过期键功能 3.事务功能 4.主从复制 5.Sentinel哨兵
Ubuntu安装
#安装
sudo apt-get install redis-server
#服务端启动
sudo /etc/init.d/redis-server status|start|stop|restart
#客户端连接
redis-cli -h IP地址 -p 6379 -a 密码
配置文件所在路径
/etc/redis/redis.conf
mysql的配置文件在哪里?: /etc/mysql/mysql.conf.d/mysqlld.cnf
设置连接密码
1.requirepass 密码
2.重启服务 sudo /etc/init.d/redis-server restart
3.客户端连接
redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379>ping
允许远程连接
1.注释掉本地IP地址绑定
69行:#bind 127.0.0.1 ::1
2.关闭保护模式(把yes改为no)
88行:protected-mode no
3.重启服务
sudo /etc/init.d/redis-server restart
通用命令==适用于所有数据类型
#切换库number的值在0~15之间 db0~db15
select number
#查看键
keys 表达式
#数据类型
type key
#键是否存在
exists key
#删除键
del key
#键重命名
rename key newkey
#清除当前库中所有数据
flushdb
#清楚所有库中所有数据
flushall
字符串类型 必须掌握
#设置一个key-value
set key valuw
#获取key值
get key
#key不存在时再进行设置(nx)
set key value nx
#设置过期时间(ex)
set key value ex seconds
#同时设置多个key-value
mset key1 value1 key2 value2 key3 value3
#同时获取多个key-value
mget key1 key2 key3
字符串常用命令 作为了解
#获取长度
strlen key
#获取指定范围切片内容
getrange key start stop
#从索引值开始,value替换原内容
setrange key index value
数值操作-字符串类型数字 必须掌握
#整数操作
incrby key 步长
decrby key 步长
incr key : +1操作
decr key :-1操作
#浮点数操作:自动先转为数字类型,然后再进行相加减,不能使用append
incrbyfloat key step
设置过期时间两种方式
#方式一
set key value ex 3
#方式二
set key value
expire key 5#秒
pexpire key 5#毫秒
#查看存活时间
ttl key
#删除过期
persist key