Retwis ported to modern Redis data types.
The example (and related documentation at redis.io) was not updated for 5 years. Redis had no sorted sets and hashes when the original code was written (!). An update was really needed. We also use a modern PHP client now: Predis. A copy is shipped within this repository to make life easier to newcomers trying Redis for the first time via this example.
This commit is contained in:
commit
c58f935fdc
277 changed files with 18503 additions and 0 deletions
25
post.php
Normal file
25
post.php
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
<?
|
||||
include("retwis.php");
|
||||
|
||||
if (!isLoggedIn() || !gt("status")) {
|
||||
header("Location:index.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
$r = redisLink();
|
||||
$postid = $r->incr("next_post_id");
|
||||
$status = str_replace("\n"," ",gt("status"));
|
||||
$r->hmset("post:$postid","user_id",$User['id'],"time",time(),"body",$status);
|
||||
$followers = $r->zrange("followers:".$User['id'],0,-1);
|
||||
$followers[] = $User['id']; /* Add the post to our own posts too */
|
||||
|
||||
foreach($followers as $fid) {
|
||||
$r->lpush("posts:$fid",$postid);
|
||||
}
|
||||
# Push the post on the timeline, and trim the timeline to the
|
||||
# newest 1000 elements.
|
||||
$r->lpush("timeline",$postid);
|
||||
$r->ltrim("timeline",0,1000);
|
||||
|
||||
header("Location: index.php");
|
||||
?>
|
||||
Loading…
Add table
Add a link
Reference in a new issue