redis :完全免费,遵守bsd协议, 高性能基于no-sql key-value数据库。C语言编写,支持网络,可基于内存也可以持久化 。
NO-SQL:非关系型数据,数据与数据直接没有关系。
1 key-value 存储数据:redis
2 列存储数据库,HBase,Cassandra.
3 文档型数据库 MongoDB 查询效率高
4.图形数据库
redis支持数据持久化,可存储在磁盘中。重启可加载使用,
还可以支持String,list,set,hash,ordered set等存储数据。
支持数据备份,集群等高可用
性能高,原子性,
redis安装 :安装gcc先,
马克MALLOClibc
start:
server : ./usr/local/redis/bin/redis-server : port 6379
client: ./usr/local/redis/bin/redis-cli
config: 解压文件中的redis.conf 复制到安装目录中 /usr/local/redis
/usr/local/redis/ redis.conf / redis.windows.conf(win)
run: ./redis-server /path/redis.conf
配置文件:
- daemonize no ----守护进程,后台运行
- pid默认会写入 /var/run/redis,修改 pidfile /path
- 指定port : port 6379
- 绑定主机地址 : bind 127.0.0.1 ::1
- timout 300
- loglevel 默认 verbose : debug,verbose,notice,warning
- logfile stdout
- 数据库数量 databases 16
- save 多长时间内,多少次更新操作,数据库同步到文件 save 900 1
- 是否压缩 rdbompression yes
- dbfilename dump.rdb
- dir / 指定本地数据库目录
- slaveof 当本机为slave时,设置master服务ip,会自动同步数据 。
- masterauth
- requirepass password
- maxclents :
- maxmemory
- appendonly no :
本地服务: redis-cli -a password
远程服务器上执行命令:
redis-cli -h host -p port -a paasword
set keyname java121
get keyname
keys *
关闭 :
-
ps -ef | grep -i redis (容易数据丢失)
kill -9 pid -
./bin/redis-cli shutdown (good)
Command:
list set hash string Zset(ordered set )
- del key : del a b c
- dump key : serialization key (used less)
- exists key :
- expire key : 10 : set timout -1 alltime , -2 invalid
- ttl key : query timeout
- pttl key : millseconds query
- persist key : remove timeout
- keys pattern: * ?
- random key : select 1/0 : chang db index
10 rename key newkey - move key db :
12 type key :
key name (512MB最大): user:123:pwsssword
String : 二进制安全的,不需要编码解码
1 . set key value
2. get key
3. setnx key value : key not exists then set //分布式锁
4. mset key value
5. getrange key 0 3 : substring
getbit key offset
getset a b
strlen key
del key
incr key : key +1
incrby key 2: key +2
decr key : key -1
decrby key 2
append key value :