redis

// 邻接表

$aa = "create table comments(commentId int,parentId int,commentBody varchar(500),
foreign key(parentId) references comments(commentId)";

$bb = "create table aa(id int,parentId int,article varchar(10), primary key ('parentId'),
key 'parentId' ('parentId'))engine= innodb default charset=utf8";

// string list hash set sorted set

// redis-cli 客户端
// redis-server 服务端 ./redis-server redis.conf
// ps -A|grep redis
/*
为什么要使用redis?
有数据库存储功能 高速读取数据 减轻数据库负担 有集合计算功能 多种数据结构支持
默认端口 6379

set get exists(是否存在) del(删除可一个可多个) keys * (显示所有key)
keys *g* rename(修改key名字) dbsize(返回key数量) expire key 60(秒)(为key设置过期时间) ttl key (查看key还有多久的过期时间)
select 15 (选择第15个数据库 ) move key 1(将key移动到第2个数据库) flushdb删除当前数据库的key flushall删除所有数据库的key
randomkey 随机一个key

数据类型 string
mset key1 value1 key2 value
mget key1 key2
incr key 对key的值做加加操作,并返回新的值
decr key 同上,减减操作
incrby key 值 如 incrby height 10
decrby key 值
append key value 在原有的value基础上拼接
substr key start end 截取操作

数据类型List 同一个链表允许有重复
lpush newgoods huawei
lrange newgoods 0 100 查看数据
lpop newgoods 从头部删除数据 返回删除元素
rpop newgoods 从尾部删除数据 返回删除元素
llen newgoods 返回list长度
lset key index value 设置list中指定下标的元素值 如 lset newgoods 1 huaweiname

数据类型集合set
redis的set是string类型的无序集合 同一集合没有重复元素
sadd fri_tom mary 为fri_tom添加好友mary
type fri_tom 查看类型
sadd fri_lili zsk
sinter fri_tom fri_lili 这两个人的交集好友
sinterstore jiaoji fri_tom fri_lili 讲两个好友交集放到jiaoji字段中
sunion fri_tom fri_lili 这两个人的并集好友
sdiff fri_tom fri_lili 这两个人的差集好友
smembers jaoji 查看结果
scard fri_tom 查看fri_tom的好友个数
srem fri_tom xiaoming 删除xiaoming这个好友
smove fri_tom fri_lili mary

数据类型soreSet排序集合

zadd key score(权) value 如: zadd student 516 11
zadd student 600 12 zadd student 500 10 //添加元素到集合
zrank key member 返回指定元素在集合中的排名(下标),集合中的元素是score从小到大排序的
zrevrank key member 同上,但会结果是按score逆序的
zrange key start end 类似lrange操作从集合中去指定区间的元素,返回的是有序结果
zrevrange key start end 同上,返回结果是按score逆序的
zrangebyscore key min max 返回集合中score在给定区间的元素
zcount key min max 返回集合中score在给定区间的元素
zrange key start end 如 zrange student 0 2 根据(权)由小到大
zrevrange key start end 如 zrange student 0 2 根据(权)由大到小
zrem key member 删除指定元素,1表示成功,如果元素不存在返回0
zincrby key incr member 按照incr幅度增加反应 member的score值,返回score值
zcard key 返回集合中元素个数
zscore key element 返回给定元素对应的score
zremrangebyrank key min max 删除集合中排名在给定区间的元素
zremrangebyscore key min max 删除集合中score在给定区间的元素

hash数据类型
hash是redis模仿数据库把信息存储起来
hset goods:2 goods_id 2
hset goods:2 goods_name 诺基亚
hmset goods:2 goods_weight 123 goods_price 2200 goods_number 123
hget key field
hmget key field
hincrby key field integer 将制定的hansh field加个给定值
hkeys good:2 把所有域返回
hvals good:2 把所有值返回
hgetall good:2 把所有的域值都返回

快照持久化

精细持久化 append only file (AOF持久化)

手动发起快照保存 ./redis-cli bgsave
./redis-cli bgrewriteaof 这是对内容过多的aof文件进行处理

redis主从模式
slaveof 101.201.222.230 6379
从服务器默认是只读模式 可以通过这个设置slave-read-only no


利用反射感知redis类中可以操作的成员方法
$method = new ReflectionClass('Redis');通过redis类实例化一个反射类对象
$rst = $method->getMethods();获取redis类中所有的成员方法
prite_r($rst)


*/
?>

原文地址:https://www.cnblogs.com/gaosf/p/11245146.html