什么是Reids
就是一个数据库,将数据保存在内存中
优点
-
支持数据持久化
-
支持丰富的数据类型 (字符串,哈希,列表,集合)
和Me的区别:Me是简单版的Redis,Me不支持持久化。Me仅仅支持字符串类型
redis -h server_addr -p port
-
查看所有键 keys *
-
添加修改 set key_name val (键不存在则创建,否则修改)
-
获取key值 get Key_name
-
删除key del key_name
字符串类型
-
设置n个key mset key_name1 val1 ke_name2 val2 ...
-
获取n个键 mget key1 key2 ...
-
递增递减 incr 和 decr
-
增减指定值 incrby 和 decrby
-
字符串追加 append key_name val
-
字符串截取 substr
哈希类型
用来存储复杂的数据结构
-
设置/获取hash字段 hset key fileld val
-
获取一个字段值 hget key fileld_name
-
多个添加 hmset key field1 val1 field2 val2 ...
-
获取n个字段 hmget key field1 field2 ...
-
字段增值 hincrby key field number
-
检测字段 hexists key field
-
删除字段 hdel key field
-
字段个数 hlen key
-
哈希查询 hkeys key 查看需所有字段 havls key 查询所有值 hgetall 查询所有字段和值
列表类型
-
左进 lpush key val
-
查询 lrange key start end (end为-1 表示最后一个)
-
右进 rpush key val
-
头出 lpop key 和 尾出 rpop key (返回弹出的数据)
集合类型(set)
-
添加sadd set_name val
-
查看smembers key
-
差级 sdiff key1 key2 (以key1为准,我有你没有)
-
并集 sunion key1 key2 (就是合并去重)
-
交集 sinter key1 key2 (取出集合公共部分)
Key 键操作
-
键操作 exists key
-
键类型 type key
-
键改名 rename key1_old_name key1_new_name
-
键统计 dbsize (统计个数)
-
键设置过期时间 expire key second
-
键是否过期 ttl key ( -2 表示键不存在,或已过期 )
选择数据库
-
默认16个数据库,从0开始,也可以通过配置修改database 。 select 下标值
-
键移库 move key 指定下标
-
删除当前库 flushdb
-
删除所有库 flushall
Redis持久化方式
因为保存在内存中的数据在磁盘文件中有备份,当重启会将磁盘文件中的数据重写加载到内存中。
-
快照持久化(默认) dbfilename dump.rdb
-
AOF持久化 开启 appendonly yes appendfilename appendonly.aof(备份文件名)appendfsync [ always(有操作就写), everysec(每秒写), no(有空就写)]
安全性
-
修改配置添加密码 requirepass your_password
-
登录的时候 -a you_password 或 登录上去 auth your_passwordd
主从复制
当主服务器有写,从服务器自动同步
读写分离:写进主服务器,读从服务器
在从服务器上添加 salveof you_address port
masterauth #主服务器连接密码
[多台服务器端口不能一样 : ) , 必须关闭主服务器的防火墙]
另外可以在redis中shutdown就可以关闭redis了,不需要去kill它的 : )